Inspired by Will Vincent's DjangoX project.
- Django 6.0 & Python 3.14
- Basic first app called
website - Basic template with Bootstrap
- Dockerfile and docker-compose file
- Lots of other config inspired by Adam Johnson's Boost Your Django DX book
The following tools should be installed before starting:
pdm- preferred project manager, install withcurl -sSL https://pdm-project.org/install.sh | bashdjango- installing Django withpipx install djangowill put thedjango-adminbinary on your path.just- used for thejustfilecommands. Can be installed withpipx install rust-justor with a package managerdjlint- used for linting and can be installed withpipx install djlintpre-commit- used for the pre-commit commands and can be installed withpipx install pre-commitruff- used for linting and formatting, install withpipx install ruff
- Create the directory where you want your project to live and change to that directory.
- Then, run the following one-liner which will create a django project using the MyDjangoX template:
django-admin startproject --template https://github.com/stuartmaxwell/mydjangox/archive/refs/heads/main.zip mydjangox . - Run the Django migrations:
just migrate - Create a superuser:
just createsuperuser - Start the server:
just run - Navigate to: http://127.0.0.1:8000
- Bonus: run
just testto see if everything is working.
-
Rename
env.templateto.envand configure the following settings, or just copy the ones you need into a new .env file.Env Name Env Value DEBUG This is Falseby default, so set toTruefor local development.SECRET_KEY The Django secret key to add to the settings.pyfile.ALLOWED_HOSTS List of allowed hosts, e.g. example.com,www.example.com.EMAIL_HOST Name or IP address of the SMTP server. EMAIL_PORT The port of the SMTP server. EMAIL_HOST_USER The username to authenticate with the SMTP server. EMAIL_HOST_PASSWORD The password for the SMTP server username. EMAIL_USE_TLS Either TrueorFalseto use TLS.DEFAULT_FROM_EMAIL The email address to send emails from . DB_ENGINE The database engine to use. DB_NAME The database name to connect to. If using SQLite, this will be the filename without the extension. DB_HOST Name or IP address of the database server. DB_PORT The port of the database server. DB_USER The username to authenticate with the database server. DB_PASSWORD The password for the database server username. WHITENOISE_STATIC Boolean value that turns on Whitenoise for serving static content. ADMIN_URL The path to the Admin site so it can be hidden from easily being guessed.