Social Icons

Monday, January 24, 2022

DEPLOYING A DJANGO APPLICATION ON PYTHONANYWHERE


 

In this article we will show step-by-step how to

deploy
a
Django
application on the
PythonAnywhere
. PythonAnywhere is a service, like Heroku, Digital Ocean, Scala hosting, Django Europe... that gives us access to a server where we can host our Django application. They have a free offer that allows you to create a web application with limited functionality.

1 - Create an account on PythonAnywhere

The first step is to create an account on PythonAnywhere by going to the registration page. For basic needs you can create a free account which will allow you to create a web application.


The free account has some limitations

        - You can only create one application. 

        - You must click a button every 3 months in the site interface to keep the site online. 

        - You cannot use a PostgreSQL database.

2 - Create your project on PythonAnywhere

Once your account is created, you can create a web application by going to the Web tab. 

 

Click on
"Add a new web app"
to create an application.

 

Click "Next" and choose the manual configuration

.


Then choose the version of Python you want to use for your project: 

..



Your application is now created

 


You can access your temporary website at the address indicated (*). You also notice the famous button (**) on which you will have to click at least once every 3 months with a free account so that your site remains active!

3 - Necessary settings for your django project

3.1 - The settings.py file

In the
settings.py
file add the address of your pythonanywhere application to the allowed host list:
ALLOWED_HOSTS = ['youderf.pythonanywhere.com']

3.2 - The requirements.txt file

The requirements.txt file must be created locally before submitting the project to Github. To create one, execute the command:
pip freeze > requirements.txt

4 - Create an account on Github

    4.1 - To start, create a Github account 

    4.2 - Deploy your project on Github 

    4.3 - Under the code tab copy the clone address of the project: https://github.com/youderf/ManageStudent22.git 


5 - Clone the github repository to your pythonanywhere space

We will now clone the Github repository to our PythonAnywhere server. Go to the Consoles tab and click on Bash to open a terminal on your server and type:
pwd 
and then the address of your git repository:
git clone https://github.com/youderf/ManageStudent22.git

6 - Create a virtualenv and install django for your app

To create virtualenv for your application, type in the terminal:
mkvirtualenv --python=python3.9 ManageStudent22-venv
and then install django by typing in the same bash console:
pip install django

7 - Configure youre django app

We are now in the final phase, we just have to configure our app. In the code section: you must specify the location of the system files of your project then put:
/home/youderf/ManageStudent22
In the WSGI configuration file delete all content of this file and replace it by:
import os
import sys

# add your project directory to the sys.path
project_home = '/home/youderf/ManageStudent22'
if project_home not in sys.path:
    sys.path.insert(0, project_home)

# set environment variable to tell django where your settings.py is
os.environ['DJANGO_SETTINGS_MODULE'] = 'ManageStudent22.settings'


# serve django via WSGI
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

Remark

youderf
must be relaced by
your_username
and
ManageStudent22
must be replaced by the
folder name of your django project
And finally int the section virtualenv you must indicate the path to your virtualenv:
home/youderf/.virtualenvs/ManageStudent22-venv

Now if everything is correct, you can access your web application via the address provided by pythonanywhere: http://youderf.pythonanywhere.com/

 


 

Younes Derfoufi
my-courses.net

No comments:

Post a Comment

Learn Python For Beginners

Category Of Mobile Courses

Actualités (644) Adsense (1) Affiliation (1) Algebraic Topology (2) Algorithmic (1) all-news (30) Android (5) Android App (8) Android app without code (4) Android Apps (256) Android Development (4) Android download (2) Android OS (3) AngularJS (1) Automata theory and formal language (5) Bootstrap CSS (1) C programming (5) Category and Functor (8) CMS (3) Computer Glossary (18) Create Mobile App With Ionic Framework (2) CSS (2) CSS-Cascading-Style-Sheets (4) Developpement Java (13) Differential Geometry (1) Django-Python-Framework (15) dropshiping (26) Earn Money by Internet (4) Emplois (23) Framework php (2) Fraud (2) Github (2) HTML (7) IT News (3) Java For Beginners (10) Javascript (12) Kotlin Programming Language (8) Kotlin For Mobile Android (1) Linux Download (2) Marketing (5) Mobile (3) Mobile Courses (4) Mobile Marketing (4) MoneyGram (1) News (721) Node.js (5) Open Source (1) Photoshop (1) Protect Computer (1) Python (36) Python BeautifulSoup (1) Python For Data Science (2) Python PyQt (13) Python Reference (1) Python Source Code (3) Python-Books (6) Python-DVD-Training (1) Python-Exercises (297) Python-Framework (1) Python-IDE (1) Python-Kivy-Framework (2) Python-Modules (1) Python-pdf (2) Python-pyQt (1) python-temp (3) Référencement (2) Script PHP (2) Security (6) SEO (1) Snipping Tool: Faq (1) Social Networks (1) Source Code (4) Statistics With SPSS (2) Surveillance Software (1) Travail à domicile (6) Tutoriels php en vidéos (2) Tutoriels-MySql (6) tutoriels-php (19) Utilitaires (1) VPS (1) Web Hosting (1) Webcam (1) Webmarketing (11) Western Union (1) Windows 10 (1) Windows 7 (4) Windows 7 Faq (2) Windows 8 (1) Windows Accessories (1) Windows Download (8) Windows Drivers (1) Windows Fonts (1) Windows Power Shell (2) Windows Registry (2) Windows Security (18) Windows Software (2) Windows Spyware (2) Windows utilities (3) Windows Virus (2) Windows Vista (3) Windows Wireless (1) Windows xp (1) Wordpress (1)
 

Sample text

Sample Text

 
Blogger Templates