Deploying a Django project on PythonAnywhere
1. Git
1-1. Add .gitignore
in the base directory
.gitignore
in the base directory.gitignore
*.pyc
*~
/.vscode
__pycache__
myvenv
db.sqlite3
/static
.DS_Store
*.swp
*.swo
1-2. Push your code to GitHub
$ git add .
$ git commit -m "Initial commit"
$ git push origin master
2. PythonAnywhere
Assuming you already have a PythonAnywhere account
2-1. Start a "Bash" console on PythonAnywhere Dashboard
2-2. Clone your git repo
$ git clone https://github.com/<your-github-username>/my-first-blog.git
2-3. Create a virtual environment
$ cd my-first-project
$ virtualenv --python=python3.6 myvenv
Running virtualenv with interpreter /usr/bin/python3.6
[...]
Installing setuptools, pip...done.
$ source myvenv/bin/activate
(myvenv) $ pip install django~=2.0
Collecting django
[...]
Successfully installed django-2.0.6
2-4. Create a database
(mvenv) $ python manage.py migrate
Operations to perform:
[...]
Applying sessions.0001_initial... OK
(mvenv) $ python manage.py createsuperuser
2-5. Add a new web app
Hit the logo
Click
Web
on the menuClick
Add a new web app
Confirm
Domain name
You have to pay extra money if you want to customize it
Select
manual configuration
Select
Python 3.6
2-6. Virtualenv configurations
Click
Web
on the menuScroll down
You'll see
Enter the path to a virtualenv
Type the following path
/home/<your-username>/my-first-blog/myvenv/
2-7. WSGI configuration file
Copy & Paste it
import os
import sys
path = '/home/<your-PythonAnywhere-username>/my-first-blog' # Type your PythonAnywhere account!
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())
Change mysite from
mysite.settings
to the directory name where yoursettings.py
atSave it (I mean, of course)
3. You are now live!
Last updated
Was this helpful?