mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-09-21 03:12:36 +03:00
Merge branch 'cookiecutter-master'
This commit is contained in:
commit
9873fbf591
5
.github/contributors.json
vendored
5
.github/contributors.json
vendored
|
@ -1598,5 +1598,10 @@
|
||||||
"name": "Alexandr Artemyev",
|
"name": "Alexandr Artemyev",
|
||||||
"github_login": "Mogost",
|
"github_login": "Mogost",
|
||||||
"twitter_username": "MOGOST"
|
"twitter_username": "MOGOST"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Ali Shamakhi",
|
||||||
|
"github_login": "ali-shamakhi",
|
||||||
|
"twitter_username": ""
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
208
CHANGELOG.md
208
CHANGELOG.md
|
@ -3,6 +3,214 @@ All enhancements and patches to Cookiecutter Django will be documented in this f
|
||||||
|
|
||||||
<!-- GENERATOR_PLACEHOLDER -->
|
<!-- GENERATOR_PLACEHOLDER -->
|
||||||
|
|
||||||
|
## 2024.07.19
|
||||||
|
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Use "ENV key=value" instead of "ENV key value" in Dockerfiles ([#5225](https://github.com/cookiecutter/cookiecutter-django/pull/5225))
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update django-upgrade to 1.20.0 ([#5227](https://github.com/cookiecutter/cookiecutter-django/pull/5227))
|
||||||
|
|
||||||
|
- Update ruff to 0.5.3 ([#5224](https://github.com/cookiecutter/cookiecutter-django/pull/5224))
|
||||||
|
|
||||||
|
## 2024.07.18
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update sphinx to 7.4.6 ([#5223](https://github.com/cookiecutter/cookiecutter-django/pull/5223))
|
||||||
|
|
||||||
|
## 2024.07.17
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update sphinx to 7.4.5 ([#5222](https://github.com/cookiecutter/cookiecutter-django/pull/5222))
|
||||||
|
|
||||||
|
## 2024.07.16
|
||||||
|
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Clear `ENTRYPOINT` in `awscli` image to allow script execution ([#5221](https://github.com/cookiecutter/cookiecutter-django/pull/5221))
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update sphinx to 7.4.4 ([#5218](https://github.com/cookiecutter/cookiecutter-django/pull/5218))
|
||||||
|
|
||||||
|
## 2024.07.15
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update sentry-sdk to 2.10.0 ([#5216](https://github.com/cookiecutter/cookiecutter-django/pull/5216))
|
||||||
|
|
||||||
|
- Update sphinx to 7.4.2 ([#5215](https://github.com/cookiecutter/cookiecutter-django/pull/5215))
|
||||||
|
|
||||||
|
- Update ruff to 0.5.2 ([#5211](https://github.com/cookiecutter/cookiecutter-django/pull/5211))
|
||||||
|
|
||||||
|
- Update sphinx to 7.4.0 ([#5214](https://github.com/cookiecutter/cookiecutter-django/pull/5214))
|
||||||
|
|
||||||
|
## 2024.07.12
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update django-allauth to 0.63.6 ([#5210](https://github.com/cookiecutter/cookiecutter-django/pull/5210))
|
||||||
|
|
||||||
|
- Update django-allauth to 0.63.5 ([#5206](https://github.com/cookiecutter/cookiecutter-django/pull/5206))
|
||||||
|
|
||||||
|
- Update coverage to 7.6.0 ([#5207](https://github.com/cookiecutter/cookiecutter-django/pull/5207))
|
||||||
|
|
||||||
|
- Update django-anymail to 11.0.1 ([#5208](https://github.com/cookiecutter/cookiecutter-django/pull/5208))
|
||||||
|
|
||||||
|
## 2024.07.10
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update django-allauth to 0.63.4 ([#5204](https://github.com/cookiecutter/cookiecutter-django/pull/5204))
|
||||||
|
|
||||||
|
- Update django to 4.2.14 ([#5200](https://github.com/cookiecutter/cookiecutter-django/pull/5200))
|
||||||
|
|
||||||
|
- Update collectfasta to 3.2.0 ([#5201](https://github.com/cookiecutter/cookiecutter-django/pull/5201))
|
||||||
|
|
||||||
|
- Update sentry-sdk to 2.9.0 ([#5202](https://github.com/cookiecutter/cookiecutter-django/pull/5202))
|
||||||
|
|
||||||
|
- Update django-debug-toolbar to 4.4.6 ([#5203](https://github.com/cookiecutter/cookiecutter-django/pull/5203))
|
||||||
|
|
||||||
|
## 2024.07.09
|
||||||
|
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Migrate from Collectfast to Collestfasta ([#5172](https://github.com/cookiecutter/cookiecutter-django/pull/5172))
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
- Fix a typo in the `--all` option of the `makemessages` command ([#5198](https://github.com/cookiecutter/cookiecutter-django/pull/5198))
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update django-storages to 1.14.4 ([#5197](https://github.com/cookiecutter/cookiecutter-django/pull/5197))
|
||||||
|
|
||||||
|
## 2024.07.08
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update ruff to 0.5.1 ([#5190](https://github.com/cookiecutter/cookiecutter-django/pull/5190))
|
||||||
|
|
||||||
|
- Update django-debug-toolbar to 4.4.5 ([#5192](https://github.com/cookiecutter/cookiecutter-django/pull/5192))
|
||||||
|
|
||||||
|
- Update sentry-sdk to 2.8.0 ([#5195](https://github.com/cookiecutter/cookiecutter-django/pull/5195))
|
||||||
|
|
||||||
|
## 2024.07.05
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update django-debug-toolbar to 4.4.3 ([#5189](https://github.com/cookiecutter/cookiecutter-django/pull/5189))
|
||||||
|
|
||||||
|
## 2024.07.02
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update pillow to 10.4.0 ([#5182](https://github.com/cookiecutter/cookiecutter-django/pull/5182))
|
||||||
|
|
||||||
|
## 2024.07.01
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update ruff to 0.5.0 ([#5181](https://github.com/cookiecutter/cookiecutter-django/pull/5181))
|
||||||
|
|
||||||
|
- Update sentry-sdk to 2.7.1 ([#5174](https://github.com/cookiecutter/cookiecutter-django/pull/5174))
|
||||||
|
|
||||||
|
- Auto-update pre-commit hooks ([#5175](https://github.com/cookiecutter/cookiecutter-django/pull/5175))
|
||||||
|
|
||||||
|
- Update psycopg to 3.2.1 ([#5180](https://github.com/cookiecutter/cookiecutter-django/pull/5180))
|
||||||
|
|
||||||
|
## 2024.06.30
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update django-upgrade to 1.19.0 ([#5171](https://github.com/cookiecutter/cookiecutter-django/pull/5171))
|
||||||
|
|
||||||
|
## 2024.06.26
|
||||||
|
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix keywords case warning in Dockerfile ([#5164](https://github.com/cookiecutter/cookiecutter-django/pull/5164))
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update redis to 5.0.7 ([#5170](https://github.com/cookiecutter/cookiecutter-django/pull/5170))
|
||||||
|
|
||||||
|
- Update sentry-sdk to 2.7.0 ([#5169](https://github.com/cookiecutter/cookiecutter-django/pull/5169))
|
||||||
|
|
||||||
|
## 2024.06.24
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update django-anymail to 11.0 ([#5163](https://github.com/cookiecutter/cookiecutter-django/pull/5163))
|
||||||
|
|
||||||
|
- Update coverage to 7.5.4 ([#5162](https://github.com/cookiecutter/cookiecutter-django/pull/5162))
|
||||||
|
|
||||||
|
## 2024.06.22
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Bump amazon/aws-cli from 2.16.10 to 2.17.0 ([#5161](https://github.com/cookiecutter/cookiecutter-django/pull/5161))
|
||||||
|
|
||||||
|
- Auto-update pre-commit hooks ([#5160](https://github.com/cookiecutter/cookiecutter-django/pull/5160))
|
||||||
|
|
||||||
|
- Update ruff to 0.4.10 ([#5159](https://github.com/cookiecutter/cookiecutter-django/pull/5159))
|
||||||
|
|
||||||
|
## 2024.06.20
|
||||||
|
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Remove deprecated docker and python tags from GitLab CI config ([#5158](https://github.com/cookiecutter/cookiecutter-django/pull/5158))
|
||||||
|
|
||||||
|
## 2024.06.19
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update djangorestframework to 3.15.2 ([#5156](https://github.com/cookiecutter/cookiecutter-django/pull/5156))
|
||||||
|
|
||||||
|
- Update django-cors-headers to 4.4.0 ([#5154](https://github.com/cookiecutter/cookiecutter-django/pull/5154))
|
||||||
|
|
||||||
|
- Update sentry-sdk to 2.6.0 ([#5153](https://github.com/cookiecutter/cookiecutter-django/pull/5153))
|
||||||
|
|
||||||
|
- Update whitenoise to 6.7.0 ([#5155](https://github.com/cookiecutter/cookiecutter-django/pull/5155))
|
||||||
|
|
||||||
|
## 2024.06.18
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Bump amazon/aws-cli from 2.16.8 to 2.16.10 ([#5149](https://github.com/cookiecutter/cookiecutter-django/pull/5149))
|
||||||
|
|
||||||
|
## 2024.06.17
|
||||||
|
|
||||||
|
|
||||||
|
### Updated
|
||||||
|
|
||||||
|
- Update django-compressor to 4.5 ([#5145](https://github.com/cookiecutter/cookiecutter-django/pull/5145))
|
||||||
|
|
||||||
|
- Update rcssmin to 1.1.2 ([#4614](https://github.com/cookiecutter/cookiecutter-django/pull/4614))
|
||||||
|
|
||||||
## 2024.06.15
|
## 2024.06.15
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -222,6 +222,13 @@ Listed in alphabetical order.
|
||||||
</td>
|
</td>
|
||||||
<td>MOGOST</td>
|
<td>MOGOST</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Ali Shamakhi</td>
|
||||||
|
<td>
|
||||||
|
<a href="https://github.com/ali-shamakhi">ali-shamakhi</a>
|
||||||
|
</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Alvaro [Andor]</td>
|
<td>Alvaro [Andor]</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
sphinx==7.3.7
|
sphinx==7.4.6
|
||||||
sphinx-rtd-theme==2.0.0
|
sphinx-rtd-theme==2.0.0
|
||||||
myst-parser==3.0.1
|
myst-parser==3.0.1
|
||||||
|
|
|
@ -4,14 +4,14 @@ binaryornot==0.4.4
|
||||||
|
|
||||||
# Code quality
|
# Code quality
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
ruff==0.4.9
|
ruff==0.5.3
|
||||||
django-upgrade==1.18.0
|
django-upgrade==1.20.0
|
||||||
djlint==1.34.1
|
djlint==1.34.1
|
||||||
pre-commit==3.7.1
|
pre-commit==3.7.1
|
||||||
|
|
||||||
# Testing
|
# Testing
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
tox==4.15.1
|
tox==4.16.0
|
||||||
pytest==8.2.2
|
pytest==8.2.2
|
||||||
pytest-xdist==3.6.1
|
pytest-xdist==3.6.1
|
||||||
pytest-cookies==0.7.0
|
pytest-cookies==0.7.0
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -5,7 +5,7 @@ except ImportError:
|
||||||
from distutils.core import setup
|
from distutils.core import setup
|
||||||
|
|
||||||
# We use calendar versioning
|
# We use calendar versioning
|
||||||
version = "2024.06.15"
|
version = "2024.07.19"
|
||||||
|
|
||||||
with open("README.md") as readme_file:
|
with open("README.md") as readme_file:
|
||||||
long_description = readme_file.read()
|
long_description = readme_file.read()
|
||||||
|
|
|
@ -28,8 +28,6 @@ pytest:
|
||||||
stage: test
|
stage: test
|
||||||
{%- if cookiecutter.use_docker == 'y' %}
|
{%- if cookiecutter.use_docker == 'y' %}
|
||||||
image: docker:25.0
|
image: docker:25.0
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
services:
|
services:
|
||||||
- docker:dind
|
- docker:dind
|
||||||
before_script:
|
before_script:
|
||||||
|
@ -42,8 +40,6 @@ pytest:
|
||||||
- docker compose -f docker-compose.local.yml run django pytest
|
- docker compose -f docker-compose.local.yml run django pytest
|
||||||
{%- else %}
|
{%- else %}
|
||||||
image: python:3.12
|
image: python:3.12
|
||||||
tags:
|
|
||||||
- python
|
|
||||||
services:
|
services:
|
||||||
- postgres:{{ cookiecutter.postgresql_version }}
|
- postgres:{{ cookiecutter.postgresql_version }}
|
||||||
variables:
|
variables:
|
||||||
|
|
|
@ -32,14 +32,14 @@ repos:
|
||||||
exclude: '{{cookiecutter.project_slug}}/templates/'
|
exclude: '{{cookiecutter.project_slug}}/templates/'
|
||||||
|
|
||||||
- repo: https://github.com/adamchainz/django-upgrade
|
- repo: https://github.com/adamchainz/django-upgrade
|
||||||
rev: '1.18.0'
|
rev: '1.20.0'
|
||||||
hooks:
|
hooks:
|
||||||
- id: django-upgrade
|
- id: django-upgrade
|
||||||
args: ['--target-version', '4.2']
|
args: ['--target-version', '4.2']
|
||||||
|
|
||||||
# Run the Ruff linter.
|
# Run the Ruff linter.
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
rev: v0.4.9
|
rev: v0.5.3
|
||||||
hooks:
|
hooks:
|
||||||
# Linter
|
# Linter
|
||||||
- id: ruff
|
- id: ruff
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# define an alias for the specific python version used in this file.
|
# define an alias for the specific python version used in this file.
|
||||||
FROM docker.io/python:3.12.4-slim-bookworm as python
|
FROM docker.io/python:3.12.4-slim-bookworm AS python
|
||||||
|
|
||||||
# Python build stage
|
# Python build stage
|
||||||
FROM python as python-build-stage
|
FROM python AS python-build-stage
|
||||||
|
|
||||||
ARG BUILD_ENVIRONMENT=local
|
ARG BUILD_ENVIRONMENT=local
|
||||||
|
|
||||||
|
@ -22,14 +22,14 @@ RUN pip wheel --wheel-dir /usr/src/app/wheels \
|
||||||
|
|
||||||
|
|
||||||
# Python 'run' stage
|
# Python 'run' stage
|
||||||
FROM python as python-run-stage
|
FROM python AS python-run-stage
|
||||||
|
|
||||||
ARG BUILD_ENVIRONMENT=local
|
ARG BUILD_ENVIRONMENT=local
|
||||||
ARG APP_HOME=/app
|
ARG APP_HOME=/app
|
||||||
|
|
||||||
ENV PYTHONUNBUFFERED 1
|
ENV PYTHONUNBUFFERED=1
|
||||||
ENV PYTHONDONTWRITEBYTECODE 1
|
ENV PYTHONDONTWRITEBYTECODE=1
|
||||||
ENV BUILD_ENV ${BUILD_ENVIRONMENT}
|
ENV BUILD_ENV=${BUILD_ENVIRONMENT}
|
||||||
|
|
||||||
WORKDIR ${APP_HOME}
|
WORKDIR ${APP_HOME}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
# define an alias for the specific python version used in this file.
|
# define an alias for the specific python version used in this file.
|
||||||
FROM docker.io/python:3.12.4-slim-bookworm as python
|
FROM docker.io/python:3.12.4-slim-bookworm AS python
|
||||||
|
|
||||||
|
|
||||||
# Python build stage
|
# Python build stage
|
||||||
FROM python as python-build-stage
|
FROM python AS python-build-stage
|
||||||
|
|
||||||
ENV PYTHONDONTWRITEBYTECODE 1
|
ENV PYTHONDONTWRITEBYTECODE=1
|
||||||
|
|
||||||
RUN apt-get update && apt-get install --no-install-recommends -y \
|
RUN apt-get update && apt-get install --no-install-recommends -y \
|
||||||
# dependencies for building Python packages
|
# dependencies for building Python packages
|
||||||
|
@ -26,11 +26,11 @@ RUN pip wheel --no-cache-dir --wheel-dir /usr/src/app/wheels \
|
||||||
|
|
||||||
|
|
||||||
# Python 'run' stage
|
# Python 'run' stage
|
||||||
FROM python as python-run-stage
|
FROM python AS python-run-stage
|
||||||
|
|
||||||
ARG BUILD_ENVIRONMENT
|
ARG BUILD_ENVIRONMENT
|
||||||
ENV PYTHONUNBUFFERED 1
|
ENV PYTHONUNBUFFERED=1
|
||||||
ENV PYTHONDONTWRITEBYTECODE 1
|
ENV PYTHONDONTWRITEBYTECODE=1
|
||||||
|
|
||||||
RUN apt-get update && apt-get install --no-install-recommends -y \
|
RUN apt-get update && apt-get install --no-install-recommends -y \
|
||||||
# To run the Makefile
|
# To run the Makefile
|
||||||
|
|
|
@ -6,4 +6,4 @@ COPY ./package.json /app
|
||||||
|
|
||||||
RUN npm install && npm cache clean --force
|
RUN npm install && npm cache clean --force
|
||||||
|
|
||||||
ENV PATH ./node_modules/.bin/:$PATH
|
ENV PATH=./node_modules/.bin/:$PATH
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
FROM docker.io/amazon/aws-cli:2.16.8
|
FROM docker.io/amazon/aws-cli:2.17.0
|
||||||
|
|
||||||
|
# Clear entrypoint from the base image, otherwise it's always calling the aws CLI
|
||||||
|
ENTRYPOINT []
|
||||||
|
|
||||||
COPY ./compose/production/aws/maintenance /usr/local/bin/maintenance
|
COPY ./compose/production/aws/maintenance /usr/local/bin/maintenance
|
||||||
COPY ./compose/production/postgres/maintenance/_sourced /usr/local/bin/maintenance/_sourced
|
COPY ./compose/production/postgres/maintenance/_sourced /usr/local/bin/maintenance/_sourced
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{% if cookiecutter.frontend_pipeline in ['Gulp', 'Webpack'] -%}
|
{% if cookiecutter.frontend_pipeline in ['Gulp', 'Webpack'] -%}
|
||||||
FROM docker.io/node:20-bookworm-slim as client-builder
|
FROM docker.io/node:20-bookworm-slim AS client-builder
|
||||||
|
|
||||||
ARG APP_HOME=/app
|
ARG APP_HOME=/app
|
||||||
WORKDIR ${APP_HOME}
|
WORKDIR ${APP_HOME}
|
||||||
|
@ -25,10 +25,10 @@ RUN npm run build
|
||||||
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
# define an alias for the specific python version used in this file.
|
# define an alias for the specific python version used in this file.
|
||||||
FROM docker.io/python:3.12.4-slim-bookworm as python
|
FROM docker.io/python:3.12.4-slim-bookworm AS python
|
||||||
|
|
||||||
# Python build stage
|
# Python build stage
|
||||||
FROM python as python-build-stage
|
FROM python AS python-build-stage
|
||||||
|
|
||||||
ARG BUILD_ENVIRONMENT=production
|
ARG BUILD_ENVIRONMENT=production
|
||||||
|
|
||||||
|
@ -48,14 +48,14 @@ RUN pip wheel --wheel-dir /usr/src/app/wheels \
|
||||||
|
|
||||||
|
|
||||||
# Python 'run' stage
|
# Python 'run' stage
|
||||||
FROM python as python-run-stage
|
FROM python AS python-run-stage
|
||||||
|
|
||||||
ARG BUILD_ENVIRONMENT=production
|
ARG BUILD_ENVIRONMENT=production
|
||||||
ARG APP_HOME=/app
|
ARG APP_HOME=/app
|
||||||
|
|
||||||
ENV PYTHONUNBUFFERED 1
|
ENV PYTHONUNBUFFERED=1
|
||||||
ENV PYTHONDONTWRITEBYTECODE 1
|
ENV PYTHONDONTWRITEBYTECODE=1
|
||||||
ENV BUILD_ENV ${BUILD_ENVIRONMENT}
|
ENV BUILD_ENV=${BUILD_ENVIRONMENT}
|
||||||
|
|
||||||
WORKDIR ${APP_HOME}
|
WORKDIR ${APP_HOME}
|
||||||
|
|
||||||
|
|
|
@ -198,13 +198,13 @@ STORAGES = {
|
||||||
{%- if cookiecutter.cloud_provider == 'AWS' %}
|
{%- if cookiecutter.cloud_provider == 'AWS' %}
|
||||||
MEDIA_URL = f"https://{aws_s3_domain}/media/"
|
MEDIA_URL = f"https://{aws_s3_domain}/media/"
|
||||||
{%- if cookiecutter.use_whitenoise == 'n' %}
|
{%- if cookiecutter.use_whitenoise == 'n' %}
|
||||||
COLLECTFAST_STRATEGY = "collectfast.strategies.boto3.Boto3Strategy"
|
COLLECTFASTA_STRATEGY = "collectfasta.strategies.boto3.Boto3Strategy"
|
||||||
STATIC_URL = f"https://{aws_s3_domain}/static/"
|
STATIC_URL = f"https://{aws_s3_domain}/static/"
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- elif cookiecutter.cloud_provider == 'GCP' %}
|
{%- elif cookiecutter.cloud_provider == 'GCP' %}
|
||||||
MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/"
|
MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/"
|
||||||
{%- if cookiecutter.use_whitenoise == 'n' %}
|
{%- if cookiecutter.use_whitenoise == 'n' %}
|
||||||
COLLECTFAST_STRATEGY = "collectfast.strategies.gcloud.GoogleCloudStrategy"
|
COLLECTFASTA_STRATEGY = "collectfasta.strategies.gcloud.GoogleCloudStrategy"
|
||||||
STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/"
|
STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/"
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- elif cookiecutter.cloud_provider == 'Azure' %}
|
{%- elif cookiecutter.cloud_provider == 'Azure' %}
|
||||||
|
@ -329,10 +329,10 @@ COMPRESS_FILTERS = {
|
||||||
}
|
}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{%- if cookiecutter.use_whitenoise == 'n' -%}
|
{%- if cookiecutter.use_whitenoise == 'n' -%}
|
||||||
# Collectfast
|
# Collectfasta
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# https://github.com/antonagestam/collectfast#installation
|
# https://github.com/jasongi/collectfasta#installation
|
||||||
INSTALLED_APPS = ["collectfast", *INSTALLED_APPS]
|
INSTALLED_APPS = ["collectfasta", *INSTALLED_APPS]
|
||||||
{% endif %}
|
{% endif %}
|
||||||
# LOGGING
|
# LOGGING
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
Start by configuring the `LANGUAGES` settings in `base.py`, by uncommenting languages you are willing to support. Then, translations strings will be placed in this folder when running:
|
Start by configuring the `LANGUAGES` settings in `base.py`, by uncommenting languages you are willing to support. Then, translations strings will be placed in this folder when running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
{% if cookiecutter.use_docker == 'y' %}docker compose -f docker-compose.local.yml run --rm django {% endif %}python manage.py makemessages -all --no-location
|
{% if cookiecutter.use_docker == 'y' %}docker compose -f docker-compose.local.yml run --rm django {% endif %}python manage.py makemessages --all --no-location
|
||||||
```
|
```
|
||||||
|
|
||||||
This should generate `django.po` (stands for Portable Object) files under each locale `<locale name>/LC_MESSAGES/django.po`. Each translatable string in the codebase is collected with its `msgid` and need to be translated as `msgstr`, for example:
|
This should generate `django.po` (stands for Portable Object) files under each locale `<locale name>/LC_MESSAGES/django.po`. Each translatable string in the codebase is collected with its `msgid` and need to be translated as `msgstr`, for example:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
python-slugify==8.0.4 # https://github.com/un33k/python-slugify
|
python-slugify==8.0.4 # https://github.com/un33k/python-slugify
|
||||||
Pillow==10.3.0 # https://github.com/python-pillow/Pillow
|
Pillow==10.4.0 # https://github.com/python-pillow/Pillow
|
||||||
{%- if cookiecutter.frontend_pipeline == 'Django Compressor' %}
|
{%- if cookiecutter.frontend_pipeline == 'Django Compressor' %}
|
||||||
{%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %}
|
{%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %}
|
||||||
rcssmin==1.1.2 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin
|
rcssmin==1.1.2 --install-option="--without-c-extensions" # https://github.com/ndparker/rcssmin
|
||||||
|
@ -9,11 +9,11 @@ rcssmin==1.1.2 # https://github.com/ndparker/rcssmin
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
argon2-cffi==23.1.0 # https://github.com/hynek/argon2_cffi
|
argon2-cffi==23.1.0 # https://github.com/hynek/argon2_cffi
|
||||||
{%- if cookiecutter.use_whitenoise == 'y' %}
|
{%- if cookiecutter.use_whitenoise == 'y' %}
|
||||||
whitenoise==6.6.0 # https://github.com/evansd/whitenoise
|
whitenoise==6.7.0 # https://github.com/evansd/whitenoise
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
redis==5.0.6 # https://github.com/redis/redis-py
|
redis==5.0.7 # https://github.com/redis/redis-py
|
||||||
{%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "n" %}
|
{%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "n" %}
|
||||||
hiredis==2.3.2 # https://github.com/redis/hiredis-py
|
hiredis==3.0.0 # https://github.com/redis/hiredis-py
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if cookiecutter.use_celery == "y" %}
|
{%- if cookiecutter.use_celery == "y" %}
|
||||||
celery==5.4.0 # pyup: < 6.0 # https://github.com/celery/celery
|
celery==5.4.0 # pyup: < 6.0 # https://github.com/celery/celery
|
||||||
|
@ -23,17 +23,17 @@ flower==2.0.1 # https://github.com/mher/flower
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if cookiecutter.use_async == 'y' %}
|
{%- if cookiecutter.use_async == 'y' %}
|
||||||
uvicorn[standard]==0.30.1 # https://github.com/encode/uvicorn
|
uvicorn[standard]==0.30.3 # https://github.com/encode/uvicorn
|
||||||
uvicorn-worker==0.2.0 # https://github.com/Kludex/uvicorn-worker
|
uvicorn-worker==0.2.0 # https://github.com/Kludex/uvicorn-worker
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
# Django
|
# Django
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
django==4.2.13 # pyup: < 5.0 # https://www.djangoproject.com/
|
django==4.2.14 # pyup: < 5.0 # https://www.djangoproject.com/
|
||||||
django-environ==0.11.2 # https://github.com/joke2k/django-environ
|
django-environ==0.11.2 # https://github.com/joke2k/django-environ
|
||||||
django-model-utils==4.5.1 # https://github.com/jazzband/django-model-utils
|
django-model-utils==4.5.1 # https://github.com/jazzband/django-model-utils
|
||||||
django-allauth[mfa]==0.63.3 # https://github.com/pennersr/django-allauth
|
django-allauth[mfa]==0.63.6 # https://github.com/pennersr/django-allauth
|
||||||
django-crispy-forms==2.2 # https://github.com/django-crispy-forms/django-crispy-forms
|
django-crispy-forms==2.3 # https://github.com/django-crispy-forms/django-crispy-forms
|
||||||
crispy-bootstrap5==2024.2 # https://github.com/django-crispy-forms/crispy-bootstrap5
|
crispy-bootstrap5==2024.2 # https://github.com/django-crispy-forms/crispy-bootstrap5
|
||||||
{%- if cookiecutter.frontend_pipeline == 'Django Compressor' %}
|
{%- if cookiecutter.frontend_pipeline == 'Django Compressor' %}
|
||||||
django-compressor==4.5 # https://github.com/django-compressor/django-compressor
|
django-compressor==4.5 # https://github.com/django-compressor/django-compressor
|
||||||
|
@ -41,8 +41,8 @@ django-compressor==4.5 # https://github.com/django-compressor/django-compressor
|
||||||
django-redis==5.4.0 # https://github.com/jazzband/django-redis
|
django-redis==5.4.0 # https://github.com/jazzband/django-redis
|
||||||
{%- if cookiecutter.use_drf == 'y' %}
|
{%- if cookiecutter.use_drf == 'y' %}
|
||||||
# Django REST Framework
|
# Django REST Framework
|
||||||
djangorestframework==3.15.1 # https://github.com/encode/django-rest-framework
|
djangorestframework==3.15.2 # https://github.com/encode/django-rest-framework
|
||||||
django-cors-headers==4.3.1 # https://github.com/adamchainz/django-cors-headers
|
django-cors-headers==4.4.0 # https://github.com/adamchainz/django-cors-headers
|
||||||
# DRF-spectacular for api documentation
|
# DRF-spectacular for api documentation
|
||||||
drf-spectacular==0.27.2 # https://github.com/tfranzel/drf-spectacular
|
drf-spectacular==0.27.2 # https://github.com/tfranzel/drf-spectacular
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
Werkzeug[watchdog]==3.0.3 # https://github.com/pallets/werkzeug
|
Werkzeug[watchdog]==3.0.3 # https://github.com/pallets/werkzeug
|
||||||
ipdb==0.13.13 # https://github.com/gotcha/ipdb
|
ipdb==0.13.13 # https://github.com/gotcha/ipdb
|
||||||
{%- if cookiecutter.use_docker == 'y' %}
|
{%- if cookiecutter.use_docker == 'y' %}
|
||||||
psycopg[c]==3.1.19 # https://github.com/psycopg/psycopg
|
psycopg[c]==3.2.1 # https://github.com/psycopg/psycopg
|
||||||
{%- else %}
|
{%- else %}
|
||||||
psycopg[binary]==3.1.19 # https://github.com/psycopg/psycopg
|
psycopg[binary]==3.2.1 # https://github.com/psycopg/psycopg
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if cookiecutter.use_async == 'y' or cookiecutter.use_celery == 'y' %}
|
{%- if cookiecutter.use_async == 'y' or cookiecutter.use_celery == 'y' %}
|
||||||
watchfiles==0.22.0 # https://github.com/samuelcolvin/watchfiles
|
watchfiles==0.22.0 # https://github.com/samuelcolvin/watchfiles
|
||||||
|
@ -23,14 +23,14 @@ djangorestframework-stubs[compatible-mypy]==3.15.0 # https://github.com/typeddj
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
sphinx==7.3.7 # https://github.com/sphinx-doc/sphinx
|
sphinx==7.4.6 # https://github.com/sphinx-doc/sphinx
|
||||||
sphinx-autobuild==2024.4.16 # https://github.com/GaretJax/sphinx-autobuild
|
sphinx-autobuild==2024.4.16 # https://github.com/GaretJax/sphinx-autobuild
|
||||||
sphinx-rtd-theme==2.0.0 # https://pypi.org/project/sphinx-rtd-theme/
|
sphinx-rtd-theme==2.0.0 # https://pypi.org/project/sphinx-rtd-theme/
|
||||||
|
|
||||||
# Code quality
|
# Code quality
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
ruff==0.4.9 # https://github.com/astral-sh/ruff
|
ruff==0.5.3 # https://github.com/astral-sh/ruff
|
||||||
coverage==7.5.3 # https://github.com/nedbat/coveragepy
|
coverage==7.6.0 # https://github.com/nedbat/coveragepy
|
||||||
djlint==1.34.1 # https://github.com/Riverside-Healthcare/djLint
|
djlint==1.34.1 # https://github.com/Riverside-Healthcare/djLint
|
||||||
pre-commit==3.7.1 # https://github.com/pre-commit/pre-commit
|
pre-commit==3.7.1 # https://github.com/pre-commit/pre-commit
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ pre-commit==3.7.1 # https://github.com/pre-commit/pre-commit
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
factory-boy==3.3.0 # https://github.com/FactoryBoy/factory_boy
|
factory-boy==3.3.0 # https://github.com/FactoryBoy/factory_boy
|
||||||
|
|
||||||
django-debug-toolbar==4.4.2 # https://github.com/jazzband/django-debug-toolbar
|
django-debug-toolbar==4.4.6 # https://github.com/jazzband/django-debug-toolbar
|
||||||
django-extensions==3.2.3 # https://github.com/django-extensions/django-extensions
|
django-extensions==3.2.3 # https://github.com/django-extensions/django-extensions
|
||||||
django-coverage-plugin==3.1.0 # https://github.com/nedbat/django_coverage_plugin
|
django-coverage-plugin==3.1.0 # https://github.com/nedbat/django_coverage_plugin
|
||||||
pytest-django==4.8.0 # https://github.com/pytest-dev/pytest-django
|
pytest-django==4.8.0 # https://github.com/pytest-dev/pytest-django
|
||||||
|
|
|
@ -3,42 +3,42 @@
|
||||||
-r base.txt
|
-r base.txt
|
||||||
|
|
||||||
gunicorn==22.0.0 # https://github.com/benoitc/gunicorn
|
gunicorn==22.0.0 # https://github.com/benoitc/gunicorn
|
||||||
psycopg[c]==3.1.19 # https://github.com/psycopg/psycopg
|
psycopg[c]==3.2.1 # https://github.com/psycopg/psycopg
|
||||||
{%- if cookiecutter.use_whitenoise == 'n' %}
|
{%- if cookiecutter.use_whitenoise == 'n' %}
|
||||||
Collectfast==2.2.0 # https://github.com/antonagestam/collectfast
|
Collectfasta==3.2.0 # https://github.com/jasongi/collectfasta
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if cookiecutter.use_sentry == "y" %}
|
{%- if cookiecutter.use_sentry == "y" %}
|
||||||
sentry-sdk==2.5.1 # https://github.com/getsentry/sentry-python
|
sentry-sdk==2.10.0 # https://github.com/getsentry/sentry-python
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %}
|
{%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %}
|
||||||
hiredis==2.3.2 # https://github.com/redis/hiredis-py
|
hiredis==3.0.0 # https://github.com/redis/hiredis-py
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
# Django
|
# Django
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
{%- if cookiecutter.cloud_provider == 'AWS' %}
|
{%- if cookiecutter.cloud_provider == 'AWS' %}
|
||||||
django-storages[s3]==1.14.3 # https://github.com/jschneier/django-storages
|
django-storages[s3]==1.14.4 # https://github.com/jschneier/django-storages
|
||||||
{%- elif cookiecutter.cloud_provider == 'GCP' %}
|
{%- elif cookiecutter.cloud_provider == 'GCP' %}
|
||||||
django-storages[google]==1.14.3 # https://github.com/jschneier/django-storages
|
django-storages[google]==1.14.4 # https://github.com/jschneier/django-storages
|
||||||
{%- elif cookiecutter.cloud_provider == 'Azure' %}
|
{%- elif cookiecutter.cloud_provider == 'Azure' %}
|
||||||
django-storages[azure]==1.14.3 # https://github.com/jschneier/django-storages
|
django-storages[azure]==1.14.4 # https://github.com/jschneier/django-storages
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if cookiecutter.mail_service == 'Mailgun' %}
|
{%- if cookiecutter.mail_service == 'Mailgun' %}
|
||||||
django-anymail[mailgun]==10.3 # https://github.com/anymail/django-anymail
|
django-anymail[mailgun]==11.0.1 # https://github.com/anymail/django-anymail
|
||||||
{%- elif cookiecutter.mail_service == 'Amazon SES' %}
|
{%- elif cookiecutter.mail_service == 'Amazon SES' %}
|
||||||
django-anymail[amazon-ses]==10.3 # https://github.com/anymail/django-anymail
|
django-anymail[amazon-ses]==11.0.1 # https://github.com/anymail/django-anymail
|
||||||
{%- elif cookiecutter.mail_service == 'Mailjet' %}
|
{%- elif cookiecutter.mail_service == 'Mailjet' %}
|
||||||
django-anymail[mailjet]==10.3 # https://github.com/anymail/django-anymail
|
django-anymail[mailjet]==11.0.1 # https://github.com/anymail/django-anymail
|
||||||
{%- elif cookiecutter.mail_service == 'Mandrill' %}
|
{%- elif cookiecutter.mail_service == 'Mandrill' %}
|
||||||
django-anymail[mandrill]==10.3 # https://github.com/anymail/django-anymail
|
django-anymail[mandrill]==11.0.1 # https://github.com/anymail/django-anymail
|
||||||
{%- elif cookiecutter.mail_service == 'Postmark' %}
|
{%- elif cookiecutter.mail_service == 'Postmark' %}
|
||||||
django-anymail[postmark]==10.3 # https://github.com/anymail/django-anymail
|
django-anymail[postmark]==11.0.1 # https://github.com/anymail/django-anymail
|
||||||
{%- elif cookiecutter.mail_service == 'Sendgrid' %}
|
{%- elif cookiecutter.mail_service == 'Sendgrid' %}
|
||||||
django-anymail[sendgrid]==10.3 # https://github.com/anymail/django-anymail
|
django-anymail[sendgrid]==11.0.1 # https://github.com/anymail/django-anymail
|
||||||
{%- elif cookiecutter.mail_service == 'Brevo' %}
|
{%- elif cookiecutter.mail_service == 'Brevo' %}
|
||||||
django-anymail[brevo]==10.3 # https://github.com/anymail/django-anymail
|
django-anymail[brevo]==11.0.1 # https://github.com/anymail/django-anymail
|
||||||
{%- elif cookiecutter.mail_service == 'SparkPost' %}
|
{%- elif cookiecutter.mail_service == 'SparkPost' %}
|
||||||
django-anymail[sparkpost]==10.3 # https://github.com/anymail/django-anymail
|
django-anymail[sparkpost]==11.0.1 # https://github.com/anymail/django-anymail
|
||||||
{%- elif cookiecutter.mail_service == 'Other SMTP' %}
|
{%- elif cookiecutter.mail_service == 'Other SMTP' %}
|
||||||
django-anymail==10.3 # https://github.com/anymail/django-anymail
|
django-anymail==11.0.1 # https://github.com/anymail/django-anymail
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
python-3.12.3
|
python-3.12.4
|
||||||
|
|
Loading…
Reference in New Issue
Block a user