docker setup
This commit is contained in:
@ -0,0 +1,9 @@
|
||||
from django.urls import include
|
||||
from django.views import defaults
|
||||
|
||||
__all__ = ["handler400", "handler403", "handler404", "handler500", "include"]
|
||||
|
||||
handler400 = defaults.bad_request
|
||||
handler403 = defaults.permission_denied
|
||||
handler404 = defaults.page_not_found
|
||||
handler500 = defaults.server_error
|
@ -0,0 +1,39 @@
|
||||
import functools
|
||||
|
||||
from django.conf import settings
|
||||
from django.urls import LocalePrefixPattern, URLResolver, get_resolver, path
|
||||
from django.views.i18n import set_language
|
||||
|
||||
|
||||
def i18n_patterns(*urls, prefix_default_language=True):
|
||||
"""
|
||||
Add the language code prefix to every URL pattern within this function.
|
||||
This may only be used in the root URLconf, not in an included URLconf.
|
||||
"""
|
||||
if not settings.USE_I18N:
|
||||
return list(urls)
|
||||
return [
|
||||
URLResolver(
|
||||
LocalePrefixPattern(prefix_default_language=prefix_default_language),
|
||||
list(urls),
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
@functools.lru_cache(maxsize=None)
|
||||
def is_language_prefix_patterns_used(urlconf):
|
||||
"""
|
||||
Return a tuple of two booleans: (
|
||||
`True` if i18n_patterns() (LocalePrefixPattern) is used in the URLconf,
|
||||
`True` if the default language should be prefixed
|
||||
)
|
||||
"""
|
||||
for url_pattern in get_resolver(urlconf).url_patterns:
|
||||
if isinstance(url_pattern.pattern, LocalePrefixPattern):
|
||||
return True, url_pattern.pattern.prefix_default_language
|
||||
return False, False
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
path("setlang/", set_language, name="set_language"),
|
||||
]
|
@ -0,0 +1,30 @@
|
||||
import re
|
||||
from urllib.parse import urlsplit
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.urls import re_path
|
||||
from django.views.static import serve
|
||||
|
||||
|
||||
def static(prefix, view=serve, **kwargs):
|
||||
"""
|
||||
Return a URL pattern for serving files in debug mode.
|
||||
|
||||
from django.conf import settings
|
||||
from django.conf.urls.static import static
|
||||
|
||||
urlpatterns = [
|
||||
# ... the rest of your URLconf goes here ...
|
||||
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
"""
|
||||
if not prefix:
|
||||
raise ImproperlyConfigured("Empty static prefix not permitted")
|
||||
elif not settings.DEBUG or urlsplit(prefix).netloc:
|
||||
# No-op if not in debug mode or a non-local prefix.
|
||||
return []
|
||||
return [
|
||||
re_path(
|
||||
r"^%s(?P<path>.*)$" % re.escape(prefix.lstrip("/")), view, kwargs=kwargs
|
||||
),
|
||||
]
|
Reference in New Issue
Block a user