Как исключить слово из регулярного выражения Python?

Здравствуйте! Делаю SPA приложение на Django. Урл Джанго настроен так, чтобы отдавать по любому запросу единственную страницу, куда впоследствии встраивается фронт-энд фрэймфорк, однако, из-за этого Джанго не хочет отдавать медиа-файлы. Как исключить в регулярном выражении строку media?, чтобы бэк-энд отдавал главную страницу по любому запросу, кроме того, что начинается с названия папки media?

urls.py:

from django.conf.urls import url
from django.conf import settings
from django.conf.urls.static import static
from . import views

urlpatterns = [
    url(r'^', views.IndexView.as_view(), name='index'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  • Вопрос задан
  • 753 просмотра
Решения вопроса 1
@deliro
urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + [
    url(r'^', views.IndexView.as_view(), name='index'),
]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
qmax
@qmax
программер
Джанго перебирает урлы по очереди и хватает первый попавшийся.
Достаточно поместить media_url в начале списка.
Ответ написан
sim3x
@sim3x
Надо сделать так
url(r'^$', views.IndexView.as_view(), name='index'),

а не делать ерунду

https://docs.djangoproject.com/en/1.9/topics/http/...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы