«snippets» не указывает на определенный элемент Django, это просто означает: вот фрагмент кода для вас. В этом случае это промежуточное ПО, специальный модуль Django, который будет вызываться до и после веб-запроса. Read django docs при необходимости
Я использую это промежуточное программное обеспечение тоже просто вставить все в файле с именем middleware.py
в основной папке приложения (любая папка приложения будет делать, учитывая это приложение упоминается в INSTALLED_APPS
)
Затем добавьте эти строки в ваш settings.py
файл:
MIDDLEWARE_CLASSES = (
#...all others middleware, on the last line, paste :
'main.middleware.EnforceLoginMiddleware',
)
Обратите внимание, что здесь приложение, где я положил файл называется main
, ваш может быть назван по-разному.
Не забудьте прочитать строку документации из сниппета:
Middlware class which requires the user to be authenticated for all urls except
those defined in PUBLIC_URLS in settings.py. PUBLIC_URLS should be a tuple of regular
expresssions for the urls you want anonymous users to have access to. If PUBLIC_URLS
is not defined, it falls back to LOGIN_URL or failing that '/accounts/login/'.
Requests for urls not matching PUBLIC_URLS get redirected to LOGIN_URL with next set
to original path of the unauthenticted request.
Any urls statically served by django are excluded from this check. To enforce the same
validation on these set SERVE_STATIC_TO_PUBLIC to False.
Большое спасибо! – Sevenearths