DjangoX
A framework for launching new Django projects quickly. Comes with a complete user authentication flow, custom user model, and social authentication options via Gmail, Facebook, Twitter, etc.
NOTE: This open source project is supported by my two published books Django for Beginners and REST APIs with Django. Both of which have the first few chapters available for free online. Please take a look!
Features
- For Django 2.1 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 virtualenv:
$ 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