Я работаю над классом loginMiddleware для Django.Этот промежуточный класс должен отправлять пользователя на страницу входа, когда он не вошел в систему.Но есть несколько исключений.
Поскольку я запускаю встроенный сервер django, мне пришлось создать медиа-URL.Но помните, что проблема заключается в том, что когда страница входа загружает файл javascript, файл javascript является страницей входа в систему, поскольку пользователь не вошел в систему.По этой причине я сделал заявление:
from django.http import HttpResponseRedirect
from django.conf import settings
import re
class loginMiddelware:
def process_request(self,request):
if request.path != settings.LOGIN_PATH and request.user.is_anonymous():
if request.path.find('media') <= 0:
return HttpResponseRedirect(settings.LOGIN_PATH)
else:
return None
Я имею в виду строку с: if request.path.find ('media') <= 0 :.Это работает, но я не считаю это хорошим методом.Я думаю, что я должен использовать регулярное выражение для этого.Так что я посмотрел на функцию re.match и попробовал разные мысли, но ничего не получалось.Я хочу регулярное выражение, которое позволяет только все URL, начинающиеся с / media / и заканчивающиеся одним из следующих расширений: js, css, png, gif или jpg. </p>
Как это возможно?
Спасибо!
Том