wemake-django-template
Bleeding edge django template focused on code quality and security.
Top Related Projects
Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.
Django 5, React, Bootstrap 5 with Python 3 and Webpack project boilerplate
Quick Overview
The wemake-services/wemake-django-template is a production-ready project template for Django web applications. It focuses on code quality, security, and best practices, providing a solid foundation for building scalable and maintainable Django projects.
Pros
- Comprehensive setup with pre-configured tools for linting, testing, and CI/CD
- Emphasis on security with built-in security measures and best practices
- Docker-based development and deployment setup for consistency across environments
- Extensive documentation and guidelines for project structure and development practices
Cons
- Steep learning curve for developers new to some of the included tools and practices
- Opinionated structure may not fit all project requirements or team preferences
- Some developers might find the strict linting rules and code quality checks too restrictive
- Regular maintenance required to keep up with updates to the numerous integrated tools
Getting Started
To use this template for a new Django project:
pip install cookiecutter
cookiecutter gh:wemake-services/wemake-django-template
cd your-project-name
poetry install
# Setup pre-commit hooks
pre-commit install
# Run the project locally
docker-compose up
# Create a superuser
docker-compose run --rm web python manage.py createsuperuser
# Run tests
docker-compose run --rm web python -m pytest
After setup, your project will be ready with a configured Django application, including Docker setup, CI/CD pipelines, and various code quality tools.
Competitor Comparisons
Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.
Pros of cookiecutter-django
- More flexible and customizable, offering a wide range of options during project setup
- Larger community and more frequent updates, ensuring better maintenance and support
- Includes integration with popular tools like Celery, Redis, and various CI/CD platforms
Cons of cookiecutter-django
- Can be overwhelming for beginners due to the number of options and configurations
- Requires more setup time and decision-making during project initialization
- May include unnecessary features for simpler projects, potentially leading to bloat
Code Comparison
wemake-django-template:
# config/settings/components/common.py
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
# ... other default apps
)
cookiecutter-django:
# config/settings/base.py
INSTALLED_APPS = [
"django.contrib.auth",
"django.contrib.contenttypes",
# ... other default apps
# Third party apps
"crispy_forms",
"allauth",
"django_celery_beat",
# Local apps
"{{ cookiecutter.project_slug }}.users",
]
The code comparison shows that cookiecutter-django includes more third-party apps by default, offering additional functionality out of the box. wemake-django-template, on the other hand, provides a more minimal starting point, allowing developers to add only the necessary components as needed.
Django 5, React, Bootstrap 5 with Python 3 and Webpack project boilerplate
Pros of django-react-boilerplate
- Includes React integration out of the box, providing a modern frontend framework
- Offers Docker support for easier development and deployment
- Provides a more comprehensive frontend setup with Webpack and Sass
Cons of django-react-boilerplate
- Less focus on Django best practices and code quality tools
- May be overwhelming for developers who don't need React or prefer a simpler setup
- Less emphasis on testing and continuous integration
Code Comparison
wemake-django-template:
# settings.py
INSTALLED_APPS = [
# ... other apps
'server.apps.ServerConfig',
]
django-react-boilerplate:
# settings.py
INSTALLED_APPS = [
# ... other apps
'webpack_loader',
'frontend', # React frontend app
]
The code comparison shows that django-react-boilerplate includes additional apps for React integration, while wemake-django-template focuses on a more traditional Django setup.
Both templates provide solid starting points for Django projects, but cater to different needs. wemake-django-template emphasizes code quality and Django best practices, while django-react-boilerplate offers a more feature-rich frontend setup with React integration.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
wemake-django-template
Bleeding edge django5.1
template focused on code quality and security.
Documentation.
Purpose
This project is used to scaffold a django
project structure.
Just like django-admin.py startproject
but better.
Features
- Always
up-to-date
with the help of@dependabot
- Supports latest
python3.12
poetry@2
for managing dependenciesmypy
anddjango-stubs
for static typingpytest
andhypothesis
for unit testsruff
andwemake-python-styleguide
for lintingdocker
for development, testing, and productionsphinx
for documentationGitlab CI
with fullbuild
,test
, anddeploy
pipeline configured by defaultCaddy
withhttps
andhttp/2
turned on by default
Installation
Firstly, you will need to install dependencies.
The recommended way is via pipx
:
pipx install cookiecutter
pipx inject cookiecutter jinja2-git
Or via global pip
:
pip install cookiecutter jinja2-git
Then, create a project itself:
cookiecutter gh:wemake-services/wemake-django-template
Who is using this template?
If you use our template, please add yourself or your company in the list.
Here's a nice list of real-life open-source usages of this template.
License
MIT. See LICENSE for more details.
Top Related Projects
Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.
Django 5, React, Bootstrap 5 with Python 3 and Webpack project boilerplate
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot