Django Crash Starter

screenshot of Django Crash Starter
django

The Cookiecutter template for the Django Crash Course 3.x tutorial by Daniel and Audrey Roy Greenfeld.

Overview:

django-crash-starter is a project template designed for the Django Crash Course tutorial book by Daniel and Audrey Feldroy. It is powered by Cookiecutter and is compatible with Django 3.0 and Python 3.8. The template comes with several features and settings to optimize development and production, including integration with Twitter Bootstrap v4, django-environ for 12-Factor based settings, and django-allauth for registration. It also includes a custom user model and media storage using whitenoise. The template supports PostgreSQL and SQLite3 databases and provides default integration with pre-commit for identifying simple issues before code review.

Features:

  • Django 3+: Compatible with Django 3.0 and above.
  • Python 3.8+: Works with Python 3.8 and newer versions.
  • Renders Django projects with 100% starting test coverage: Generates project structures with initial test coverage.
  • Twitter Bootstrap v4: Integration with Twitter Bootstrap version 4 for easy and responsive web design.
  • 12-Factor based settings via django-environ: Uses django-environ to manage settings in accordance with the 12-Factor app methodology.
  • Secure by default with SSL/TLS: Encourages secure practices by default, including SSL/TLS configuration.
  • Optimized development and production settings: Provides optimized settings for development and production environments.
  • Registration via django-allauth: Includes functionality for user registration, login, and authentication using django-allauth.
  • Comes with custom user model ready to go: Pre-configured with a custom user model for immediate use.
  • Media storage using whitenoise: Supports media storage using the whitenoise library.
  • Run tests with unittest or pytest: Supports running tests using either the unittest or pytest frameworks.
  • PostgreSQL / SQLite3: Supports both PostgreSQL and SQLite3 databases.
  • Default integration with pre-commit: Integrated with pre-commit for identifying simple issues before submission to code review.
  • Constraints: The project has a small scope, and new feature pull requests will generally be rejected. Only maintained 3rd party libraries are used. Configuration is done through environment variables.

Summary:

django-crash-starter is a project template designed for the Django Crash Course tutorial book. It provides a solid foundation for creating Django projects with Django 3.0 and Python 3.8+. The template includes several features and settings to optimize development and production, such as integration with Twitter Bootstrap, django-environ for 12-Factor based settings, and django-allauth for registration. It also includes a custom user model, media storage using whitenoise, and supports both PostgreSQL and SQLite3 databases. Installation is straightforward using Cookiecutter, and the template comes with default integration with pre-commit for code review.

django
Django

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. It follows the model-view-controller (MVC) architectural pattern, providing an extensive set of built-in tools and conventions to streamline the creation of robust and scalable web applications.