A framework for launching new Django projects quickly. Comes with a custom user model, email/password authentication, options for social authentication via Google/Facebook/Twitter/etc, and static assets.
NOTE: This open source project is supported by my three published books: Django for Beginners, Django for APIs, and Django for Professionals.
Features
- For Django 2.2 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
First-time setup
- 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.
Next Steps
- Use PostgreSQL locally via Docker
- Use django-environ for environment variables
- Update EMAIL_BACKEND to configure an SMTP backend
- Make the admin more secure
Adding Social Authentication
- Configuring Google
- Configuring Facebook
- Configuring Github
django-allauth
supports many, many other providers in the official docs