Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django如何知道何时渲染哪个模板?_Django_Python 3.x_Django Views - Fatal编程技术网

Django如何知道何时渲染哪个模板?

Django如何知道何时渲染哪个模板?,django,python-3.x,django-views,Django,Python 3.x,Django Views,我在《Django 3示例》一书的第4章,我注意到一件事,我们只是从Django的身份验证框架创建视图,但我们没有告诉这些视图何时呈现哪个模板。 例如,当我们尝试访问注销视图时,我的应用程序如何知道它只需要呈现logged_out.html模板?如果我尝试将文件名从logged_out.html更改为loggedout.html,则会转到Django的管理员注销页面 为什么?在django视图中,对于我们在末尾编写的每个视图 返回渲染(请求“您的模板位置”) 这就是django知道为哪个视图呈现

我在《Django 3示例》一书的第4章,我注意到一件事,我们只是从Django的身份验证框架创建视图,但我们没有告诉这些视图何时呈现哪个模板。 例如,当我们尝试访问注销视图时,我的应用程序如何知道它只需要呈现logged_out.html模板?如果我尝试将文件名从logged_out.html更改为loggedout.html,则会转到Django的管理员注销页面


为什么?

在django视图中,对于我们在末尾编写的每个视图

返回渲染(请求“您的模板位置”)


这就是django知道为哪个视图呈现哪个模板的方式。

在django视图中,对于我们在末尾编写的每个视图

返回渲染(请求“您的模板位置”)


这就是django知道为哪个视图呈现哪个模板的方式。

您正在使用
django
内置视图进行身份验证,如登录和注销等

您可以阅读有关这些视图的更多信息

根据
Django
docs,如果不指定模板名称,登录视图将查找注册/login.html模板

对于注销视图,默认情况下查看注册/logged_out.html
Django
。您还可以通过覆盖默认模板来指定自己的模板

要进行覆盖,请在
.as\u 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")

您正在使用
Django
内置视图进行身份验证,如登录和注销等

您可以阅读有关这些视图的更多信息

根据
Django
docs,如果不指定模板名称,登录视图将查找注册/login.html模板

对于注销视图,默认情况下查看注册/logged_out.html
Django
。您还可以通过覆盖默认模板来指定自己的模板

要进行覆盖,请在
.as\u 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")

render()
采用模板名称而不是模板位置。模板位置在
设置中指定。py
无渲染采用模板位置您可以阅读[render docs]说明。()
render()
采用模板名称而不是模板位置。模板位置在
设置中指定。py
无渲染采用模板位置您可以阅读[render docs]说明。()