A Django web application built with Python 3.11.13.
- Django 4.2+ framework
- Python 3.11.13
- SQLite database (default)
- Environment variable support
- Modern, responsive UI
- Admin panel
- Python 3.11+ (3.11.13 recommended, but 3.11+ compatible)
- pip (Python package manager)
# On Windows
python -m venv venv
# Activate the virtual environment
# On Windows (PowerShell)
venv\Scripts\Activate.ps1
# On Windows (Command Prompt)
venv\Scripts\activate.batpip install -r requirements.txtCreate a .env file in the root directory:
For Local Development (SQLite):
SECRET_KEY=your-secret-key-here
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1For Production/GoDaddy (MySQL):
SECRET_KEY=your-secret-key-here
DEBUG=False
ALLOWED_HOSTS=jem.rixsoft.org,www.jem.rixsoft.org
DB_NAME=jem_customer
DB_USER=jem_auto
DB_PASSWORD=your-database-password
DB_HOST=localhost
DB_PORT=3306Important:
- Generate a secure secret key:
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"- For local development, you can use SQLite (no DB credentials needed)
- For GoDaddy, you must provide MySQL database credentials
python manage.py migratepython manage.py createsuperuserThis will allow you to access the admin panel at /admin/.
python manage.py runserverThe application will be available at http://127.0.0.1:8000/
jem/
├── config/ # Project configuration
│ ├── settings.py # Django settings
│ ├── urls.py # Main URL configuration
│ ├── wsgi.py # WSGI configuration
│ └── asgi.py # ASGI configuration
├── core/ # Main application
│ ├── views.py # View functions
│ ├── urls.py # App URL configuration
│ ├── models.py # Database models
│ └── admin.py # Admin configuration
├── templates/ # HTML templates
├── static/ # Static files (CSS, JS, images)
├── media/ # User uploaded files
├── manage.py # Django management script
├── passenger_wsgi.py # GoDaddy Passenger WSGI entry point
├── .htaccess # Apache configuration for GoDaddy
├── requirements.txt # Python dependencies
└── README.md # This file
/- Home page/about/- About page/admin/- Admin panel (requires superuser)
python manage.py testpython manage.py startapp appnameAfter creating or modifying models:
python manage.py makemigrations
python manage.py migrateThis project is configured for deployment on GoDaddy shared hosting with Python 3.11.13.
- GoDaddy hosting account with cPanel access
- "Setup Python App" or "Application Manager" enabled in cPanel
- Python 3.11.13 available in Python Selector
Upload all project files to your GoDaddy hosting account via FTP or cPanel File Manager. The project should be in a directory like /home/username/jem.rixsoft.org/ or similar.
- Log into your GoDaddy cPanel
- Navigate to Setup Python App or Application Manager (under Software section)
- Click Create Application
- Configure:
- Python Version: Select 3.11.13 (or closest available 3.11.x)
- Application Root:
/home/username/yourdomain.com(your project directory) - Application URL: Your domain or subdomain
- Application Startup File:
passenger_wsgi.py - Application Entry Point:
application
- Click Create
In cPanel Terminal or via SSH:
# Activate the virtual environment (created by cPanel)
source /home/username/virtualenv/jem.rixsoft.org/3.11/bin/activate
# Navigate to project directory
cd /home/username/jem.rixsoft.org
# Install dependencies
pip install -r requirements.txtAlternatively, in cPanel's "Setup Python App":
- Go to your application's configuration
- In "Configuration files" section, add
requirements.txt - Click Run Pip Install
Get Database Credentials from GoDaddy:
- In cPanel, go to MySQL Databases or phpMyAdmin
- Find your database:
jem_customer - Note the database user:
jem_auto - Get the database password (if you don't know it, you may need to reset it in cPanel)
- The database host is typically
localhoston GoDaddy
Set Environment Variables in cPanel:
In cPanel "Setup Python App" > Environment Variables, add:
SECRET_KEY=your-generated-secret-key-here
DEBUG=False
ALLOWED_HOSTS=jem.rixsoft.org,www.jem.rixsoft.org
DB_NAME=jem_customer
DB_USER=jem_auto
DB_PASSWORD=your-database-password-here
DB_HOST=localhost
DB_PORT=3306
Important:
- Generate a secure secret key:
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"- Keep your database password secure and never commit it to version control
In Terminal or SSH:
source /home/username/virtualenv/yourdomain.com/3.11/bin/activate
cd /home/username/yourdomain.com
python manage.py migratepython manage.py collectstatic --noinputpython manage.py createsuperuserIn cPanel "Setup Python App", click Restart Application.
passenger_wsgi.py- Entry point for GoDaddy's Passenger server.htaccess- Apache configuration for static files and routingrequirements.txt- Python dependencies (includes WhiteNoise for static files).env- Environment variables (set via cPanel Environment Variables instead)
Issue: ModuleNotFoundError or import errors
- Solution: Verify
passenger_wsgi.pyhas correct project name (config)
Issue: Static files not loading
- Solution: Run
python manage.py collectstatic --noinputand ensure WhiteNoise is in middleware
Issue: 500 Internal Server Error
- Solution: Check cPanel error logs, verify
ALLOWED_HOSTSincludes your domain, ensureDEBUG=Falsein production
Issue: Cannot find "Setup Python App"
- Solution: Contact GoDaddy support to enable Python support on your hosting plan
-
DEBUG=Falsein environment variables - Secure
SECRET_KEYset -
ALLOWED_HOSTSincludes your domain - Static files collected (
collectstatic) - Database migrations applied
- Superuser created (if needed)
- Application restarted in cPanel
For other hosting platforms:
- Set
DEBUG=Falsein your.envfile - Generate a secure
SECRET_KEY - Update
ALLOWED_HOSTSwith your domain - Set up a proper database (PostgreSQL recommended)
- Configure static files serving
- Set up proper security headers
This project is open source and available under the MIT License.