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. Learn how to build, test, and deploy websites with Django.
- 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
- 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.
- 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
Want to build DjangoX from scratch and understand how it all really works? Check out my book-length look at Django which overs how to build five progresively more complex web applications in Django, starting with a "Hello, World" app and concluding with a robust Newspaper app with complete user authentication flow, custom user model, foreign keys, and more.
The first 4 chapters are available for free online at https://djangoforbeginners.com/.