NOTE: This open source project is supported by my three published books: Django for Beginners, Django for APIs, and Django for Professionals.
- For Django 3.0 and Python 3.7
- Modern virtual environments with pipenv
- Styling with Bootstrap v4.1.3
- Custom user model
- Email/password for log in/sign up instead of Django's default username/email/password pattern
- Social authentication via django-allauth
- django-debug-toolbar
- Make sure Python 3.7x and Pipenv are already installed. See here for help.
- Clone the repo and configure the virtual environment:
$ git clone https://github.com/wsvincent/djangox.git
$ cd djangox
$ pipenv install
$ pipenv shell
- Set up the initial migration for our custom user models in
users
and build the database.
(djangox) $ python manage.py makemigrations users
(djangox) $ python manage.py migrate
- Create a superuser:
(djangox) $ python manage.py createsuperuser
- Confirm everything is working:
(djangox) $ python manage.py runserver
Load the site at http://127.0.0.1:8000.
- To customize the name of the project, update 3 files by replacing "djangox_project" with your desired name:
manage.py
djangox_project/settings.py
djangox_project/wsgi.py
It's also possible to change the djangox_project
directory to your desired project name.
- Use PostgreSQL locally via Docker
- Use django-environ for environment variables
- Update EMAIL_BACKEND to configure an SMTP backend
- Make the admin more secure
- Configuring Google
- Configuring Facebook
- Configuring Github
django-allauth
supports many, many other providers in the official docs