mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-08-15 09:24:52 +03:00
Adjust some styles
This commit is contained in:
parent
b763318fdc
commit
e29f3e029f
|
@ -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": {
|
||||||
|
|
|
@ -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' %}
|
||||||
|
|
|
@ -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": {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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(".")
|
|
||||||
)
|
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
||||||
|
|
|
@ -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):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user