How to install a Python Django application on cPanel

Django is a Python-based framework that lets you build powerful websites quickly and easily. This article shows how to install and configure a Django demo app on a Linux shared web hosting account that uses cPanel. This demo application uses a SQLite database.

 

Note that you can install a newer version of SQLite if needed:

How to install latest SQLite version on cPanel

 

1. Log into your cPanel account

cpanel_login_en.png

 

2. Create a Python application

software_title_en.png
python_wizard_en.png
a) Create a new application

python_wizard_create_en.png

b) Enter application informations

For the demo project, use version 3.11.x

python_wizard_config_311_en.png

python_wizard_config_env_en.png

c) Confirm informations

python_wizard_config_create_en.png

d) Copy the command that will allow access to the virtual environment

Once the creation of the application is complete, a message is displayed at the top of the screen. Copy the command, you will need it later.

source /home/[your_user]/virtualenv/demo_django_app/[python_version]/bin/activate && cd /home/[your_user]/demo_django_app

 

3. Configure the Django project

a) Use Terminal or connect with SSH

advanced_title_en.png
terminal_en.png

b) Activate the virtual environment

Use the command copied previously. You can return to the settings of your Python application to find the command.

$ source /home/[your_user]/virtualenv/demo_django_app/[python_version]/bin/activate && cd /home/[your_user]/demo_django_app
c) Update the program "pip"
$ pip install --upgrade pip
d) Download and unzip the demo project
$ wget https://demo.vtinyhosting.com/vtiny-django-demo.zip
$ unzip vtiny-django-demo.zip
$ rm vtiny-django-demo.zip
e) Create directories for static files
$ mkdir -p templates/static_pages
$ mkdir static_files
$ mkdir static_media
f) Install the "packages"
$ pip install -r requirements.txt
g) Replace the file "passenger_wsgi.py"
$ mv passenger_wsgi.py passenger_wsgi_bkp.py
$ wget https://demo.vtinyhosting.com/passenger_wsgi.zip
$ unzip passenger_wsgi.zip
$ rm passenger_wsgi.zip

For your projects, don't forget to change "demo_project.settings" to the name of your Django project.

$ nano passenger_wsgi.py

The final content of the file:

import os
import sys

import django.core.handlers.wsgi
from django.core.wsgi import get_wsgi_application

sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = 'demo_project.settings'

SCRIPT_NAME = ''

class PassengerPathInfoFix(object):
    """
        Sets PATH_INFO from REQUEST_URI because Passenger doesn't provide it.
    """
    def __init__(self, app):
        self.app = app

    def __call__(self, environ, start_response):
        from urllib.parse import unquote
        environ['SCRIPT_NAME'] = SCRIPT_NAME
        request_uri = unquote(environ['REQUEST_URI'])
        script_name = unquote(environ.get('SCRIPT_NAME', ''))
        offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0
        environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0]
        return self.app(environ, start_response)

application = get_wsgi_application()
application = PassengerPathInfoFix(application)

To save the file: Ctrl+O and Enter
To exist the Nano editor: Ctrl+X

h) Create a super user account

This account will allow you to access the Django administration module :
https://[your_url_application]/admin

$ python manage.py createsuperuser
i) Collect static files
$ python manage.py collectstatic
j) Restart the Python application
software_title_en.png
python_wizard_en.png

python_wizard_restart_en.png

 

4. Test the site

In your browser, enter the url of your application (section 2.b):
https://[your_url_application]

 

Vtiny Hosting demo link :
https://django.demo.vtinyhosting.com/

  • cPanel, Developer, Django, Python
  • 823 أعضاء وجدوا هذه المقالة مفيدة
هل كانت المقالة مفيدة ؟

مقالات مشابهة

How to install latest SQLite version on cPanel

Since all versions of SQLite can be easily installed locally on your shared hosting accounts, it...

How to install a PHP Symfony application on cPanel

Symfony is a Open Source MVC framework written in PHP that allows you to quickly and easily build...

Powered by WHMCompleteSolution