31 lines
908 B
Python
31 lines
908 B
Python
|
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
|
||
|
),
|
||
|
]
|