Django Template

screenshot of Django Template
django

[WIP] A scaffold for all my Django projects.

Overview

The django-template is a highly opinionated starter project that serves as a scaffold for Django projects. It comes with pre-configured features and tools to aid in development, testing, and production.

Features

  • Python 3.10, Django 4.1 and Django REST Framework 3.14.0: The template is built on the latest versions of Python, Django, and Django REST Framework, ensuring access to the most up-to-date features and improvements.
  • Poetry for managing dependencies: Poetry is used as a dependency management tool, making it easy to define, install, and update project dependencies.
  • Postgres as a database: The template integrates with Postgres as the default database, providing a reliable and scalable option for storing data.
  • Redis as cache and message queue: Redis is used for caching and message queuing purposes, enabling faster data retrieval and asynchronous processing.
  • Docker for development, testing, and production: Docker is utilized to create containerized environments for development, testing, and production, ensuring consistency and portability across different environments.
  • Celery for asynchronous tasks: Celery is integrated into the template to handle asynchronous task execution, allowing for efficient processing of time-consuming tasks in the background.
  • Black and isort for neat code formatting: The template includes the Black code formatter and isort import sorting tool, promoting consistent and clean code formatting practices.
  • Pytest and mimesis for testing: Pytest is used as the testing framework, while mimesis is leveraged for generating fake data during testing, facilitating comprehensive and reliable test coverage.
  • Django-debug-toolbar for debugging: The django-debug-toolbar is included, offering a powerful debugging tool to diagnose and troubleshoot issues during development.
  • Django-filter for easy filtering: Django-filter is integrated into the template, simplifying the process of implementing filtering functionality in the Django project.

Summary

The django-template is a pre-configured starter project that provides a solid foundation for Django projects. With its opinionated approach and included features such as Python 3.10, Docker, Redis, and Django REST Framework, it helps streamline the development process. While it doesn't include templates, forms, views, or models specific to individual projects, it offers a clean and organized structure for developers to add these components according to their specific needs. Inspired by wemake-django-template, it aims to enhance development efficiency and maintainability.

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.

template
Templates & Themes

A template or theme refers to a pre-designed layout or structure that provides a basic framework for building a specific type of application or website. It typically includes good design, placeholder content and functional features, allowing developers to customize and fill in the details according to their specific needs.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.