Adjust some styles

This commit is contained in:
Bruno Alla 2023-04-15 14:33:40 +01:00
parent b763318fdc
commit e29f3e029f
No known key found for this signature in database
7 changed files with 18 additions and 45 deletions

View File

@ -130,9 +130,7 @@ PASSWORD_HASHERS = [
] ]
# https://docs.djangoproject.com/en/dev/ref/settings/#auth-password-validators # https://docs.djangoproject.com/en/dev/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [ AUTH_PASSWORD_VALIDATORS = [
{ {"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator"},
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator"
},
{"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator"}, {"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator"},
{"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator"}, {"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator"},
{"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator"}, {"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator"},
@ -257,9 +255,8 @@ LOGGING = {
"disable_existing_loggers": False, "disable_existing_loggers": False,
"formatters": { "formatters": {
"verbose": { "verbose": {
"format": "%(levelname)s %(asctime)s %(module)s " "format": "%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s",
"%(process)d %(thread)d %(message)s" },
}
}, },
"handlers": { "handlers": {
"console": { "console": {

View File

@ -37,9 +37,7 @@ EMAIL_HOST = "localhost"
EMAIL_PORT = 1025 EMAIL_PORT = 1025
{%- else -%} {%- else -%}
# https://docs.djangoproject.com/en/dev/ref/settings/#email-backend # https://docs.djangoproject.com/en/dev/ref/settings/#email-backend
EMAIL_BACKEND = env( EMAIL_BACKEND = env("DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.console.EmailBackend")
"DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.console.EmailBackend"
)
{%- endif %} {%- endif %}
{%- if cookiecutter.use_whitenoise == 'y' %} {%- if cookiecutter.use_whitenoise == 'y' %}

View File

@ -56,15 +56,11 @@ CSRF_COOKIE_SECURE = True
# TODO: set this to 60 seconds first and then to 518400 once you prove the former works # TODO: set this to 60 seconds first and then to 518400 once you prove the former works
SECURE_HSTS_SECONDS = 60 SECURE_HSTS_SECONDS = 60
# https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-include-subdomains # https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-include-subdomains
SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool( SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool("DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS", default=True)
"DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS", default=True
)
# https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-preload # https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-preload
SECURE_HSTS_PRELOAD = env.bool("DJANGO_SECURE_HSTS_PRELOAD", default=True) SECURE_HSTS_PRELOAD = env.bool("DJANGO_SECURE_HSTS_PRELOAD", default=True)
# https://docs.djangoproject.com/en/dev/ref/middleware/#x-content-type-options-nosniff # https://docs.djangoproject.com/en/dev/ref/middleware/#x-content-type-options-nosniff
SECURE_CONTENT_TYPE_NOSNIFF = env.bool( SECURE_CONTENT_TYPE_NOSNIFF = env.bool("DJANGO_SECURE_CONTENT_TYPE_NOSNIFF", default=True)
"DJANGO_SECURE_CONTENT_TYPE_NOSNIFF", default=True
)
{% if cookiecutter.cloud_provider != 'None' -%} {% if cookiecutter.cloud_provider != 'None' -%}
# STORAGES # STORAGES
@ -85,7 +81,7 @@ AWS_QUERYSTRING_AUTH = False
_AWS_EXPIRY = 60 * 60 * 24 * 7 _AWS_EXPIRY = 60 * 60 * 24 * 7
# https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings
AWS_S3_OBJECT_PARAMETERS = { AWS_S3_OBJECT_PARAMETERS = {
"CacheControl": f"max-age={_AWS_EXPIRY}, s-maxage={_AWS_EXPIRY}, must-revalidate" "CacheControl": f"max-age={_AWS_EXPIRY}, s-maxage={_AWS_EXPIRY}, must-revalidate",
} }
# https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings
AWS_S3_MAX_MEMORY_SIZE = env.int( AWS_S3_MAX_MEMORY_SIZE = env.int(
@ -188,9 +184,7 @@ ANYMAIL = {
EMAIL_BACKEND = "anymail.backends.mandrill.EmailBackend" EMAIL_BACKEND = "anymail.backends.mandrill.EmailBackend"
ANYMAIL = { ANYMAIL = {
"MANDRILL_API_KEY": env("MANDRILL_API_KEY"), "MANDRILL_API_KEY": env("MANDRILL_API_KEY"),
"MANDRILL_API_URL": env( "MANDRILL_API_URL": env("MANDRILL_API_URL", default="https://mandrillapp.com/api/1.0"),
"MANDRILL_API_URL", default="https://mandrillapp.com/api/1.0"
),
} }
{%- elif cookiecutter.mail_service == 'Postmark' %} {%- elif cookiecutter.mail_service == 'Postmark' %}
# https://anymail.readthedocs.io/en/stable/esps/postmark/ # https://anymail.readthedocs.io/en/stable/esps/postmark/
@ -211,18 +205,14 @@ ANYMAIL = {
EMAIL_BACKEND = "anymail.backends.sendinblue.EmailBackend" EMAIL_BACKEND = "anymail.backends.sendinblue.EmailBackend"
ANYMAIL = { ANYMAIL = {
"SENDINBLUE_API_KEY": env("SENDINBLUE_API_KEY"), "SENDINBLUE_API_KEY": env("SENDINBLUE_API_KEY"),
"SENDINBLUE_API_URL": env( "SENDINBLUE_API_URL": env("SENDINBLUE_API_URL", default="https://api.sendinblue.com/v3/"),
"SENDINBLUE_API_URL", default="https://api.sendinblue.com/v3/"
),
} }
{%- elif cookiecutter.mail_service == 'SparkPost' %} {%- elif cookiecutter.mail_service == 'SparkPost' %}
# https://anymail.readthedocs.io/en/stable/esps/sparkpost/ # https://anymail.readthedocs.io/en/stable/esps/sparkpost/
EMAIL_BACKEND = "anymail.backends.sparkpost.EmailBackend" EMAIL_BACKEND = "anymail.backends.sparkpost.EmailBackend"
ANYMAIL = { ANYMAIL = {
"SPARKPOST_API_KEY": env("SPARKPOST_API_KEY"), "SPARKPOST_API_KEY": env("SPARKPOST_API_KEY"),
"SPARKPOST_API_URL": env( "SPARKPOST_API_URL": env("SPARKPOST_API_URL", default="https://api.sparkpost.com/api/v1"),
"SPARKPOST_API_URL", default="https://api.sparkpost.com/api/v1"
),
} }
{%- elif cookiecutter.mail_service == 'Other SMTP' %} {%- elif cookiecutter.mail_service == 'Other SMTP' %}
# https://anymail.readthedocs.io/en/stable/esps # https://anymail.readthedocs.io/en/stable/esps
@ -278,9 +268,8 @@ LOGGING = {
"filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}}, "filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}},
"formatters": { "formatters": {
"verbose": { "verbose": {
"format": "%(levelname)s %(asctime)s %(module)s " "format": "%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s",
"%(process)d %(thread)d %(message)s" },
}
}, },
"handlers": { "handlers": {
"mail_admins": { "mail_admins": {
@ -314,9 +303,8 @@ LOGGING = {
"disable_existing_loggers": True, "disable_existing_loggers": True,
"formatters": { "formatters": {
"verbose": { "verbose": {
"format": "%(levelname)s %(asctime)s %(module)s " "format": "%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s",
"%(process)d %(thread)d %(message)s" },
}
}, },
"handlers": { "handlers": {
"console": { "console": {

View File

@ -14,9 +14,7 @@ from rest_framework.authtoken.views import obtain_auth_token
urlpatterns = [ urlpatterns = [
path("", TemplateView.as_view(template_name="pages/home.html"), name="home"), path("", TemplateView.as_view(template_name="pages/home.html"), name="home"),
path( path("about/", TemplateView.as_view(template_name="pages/about.html"), name="about"),
"about/", TemplateView.as_view(template_name="pages/about.html"), name="about"
),
# Django Admin, use {% raw %}{% url 'admin:index' %}{% endraw %} # Django Admin, use {% raw %}{% url 'admin:index' %}{% endraw %}
path(settings.ADMIN_URL, admin.site.urls), path(settings.ADMIN_URL, admin.site.urls),
# User management # User management

View File

@ -1,5 +1,2 @@
__version__ = "{{ cookiecutter.version }}" __version__ = "{{ cookiecutter.version }}"
__version_info__ = tuple( __version_info__ = tuple(int(num) if num.isdigit() else num for num in __version__.replace("-", ".", 1).split("."))
int(num) if num.isdigit() else num
for num in __version__.replace("-", ".", 1).split(".")
)

View File

@ -8,10 +8,7 @@ def test_detail(user: User):
assert reverse("users:detail", kwargs={"pk": user.pk}) == f"/users/{user.pk}/" assert reverse("users:detail", kwargs={"pk": user.pk}) == f"/users/{user.pk}/"
assert resolve(f"/users/{user.pk}/").view_name == "users:detail" assert resolve(f"/users/{user.pk}/").view_name == "users:detail"
{%- else %} {%- else %}
assert ( assert reverse("users:detail", kwargs={"username": user.username}) == f"/users/{user.username}/"
reverse("users:detail", kwargs={"username": user.username})
== f"/users/{user.username}/"
)
assert resolve(f"/users/{user.username}/").view_name == "users:detail" assert resolve(f"/users/{user.username}/").view_name == "users:detail"
{%- endif %} {%- endif %}

View File

@ -28,9 +28,7 @@ class UserUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
success_message = _("Information successfully updated") success_message = _("Information successfully updated")
def get_success_url(self): def get_success_url(self):
assert ( assert self.request.user.is_authenticated # for mypy to know that the user is authenticated
self.request.user.is_authenticated
) # for mypy to know that the user is authenticated
return self.request.user.get_absolute_url() return self.request.user.get_absolute_url()
def get_object(self): def get_object(self):