Как Django знает, какой шаблон отображать когда? - PullRequest
1 голос
/ 04 мая 2020

Я в 4-й главе книги Django 3 на примере и заметил одну вещь: мы только создаем представления из среды аутентификации Django, но мы не говорим этим представлениям, какой шаблон отображать когда. Например, как мое приложение узнает, что ему нужно только отобразить шаблон logged_out. html, когда мы пытаемся получить доступ к представлению выхода из системы? Если я пытаюсь изменить имя файла с logged_out. html на loggedout. html, то я перехожу на страницу выхода администратора Django.

Почему?

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

Вы используете встроенные представления Django для аутентификации, такие как вход и выход из системы и т. Д. c.

Подробнее об этих представлениях можно прочитать здесь

В соответствии с Django при просмотре документов docs будет искать регистрация / вход в систему. html шаблон, если вы не укажете имя шаблона.

Для вида выхода из системы Django по умолчанию ищите registration / logged_out. html. Вы также можете указать свой собственный шаблон, переопределив шаблон по умолчанию.

Для переопределения укажите имя вашего шаблона в методе .as_view(). Как это

path('login/', LoginView.as_view(template_name="yourLoginTemplate.html"), name="view_name"),  
path('logout/', LogoutView.as_view(template_name="yourLogoutTemplate.html"), name="view_name")
0 голосов
/ 04 мая 2020

В django представлениях, для каждого представления, которое мы пишем в конце

return render(request, 'your template location')

Таким образом django знает, какой шаблон для какого представления отображать.

...