什么';s为';用户';在django模板中
所以我只了解了基于类的视图,以及它们如何将上下文传递给相应的模板进行渲染。但我注意到我在下面附加的一些代码中有一些奇怪的地方: django模板可以识别什么';s为';用户';在django模板中,django,Django,所以我只了解了基于类的视图,以及它们如何将上下文传递给相应的模板进行渲染。但我注意到我在下面附加的一些代码中有一些奇怪的地方: django模板可以识别中的用户,如果user.u经过身份验证,但是我检查了Sdetailview的上下文,用户不在其中。当我以管理员身份登录时,模板将呈现1,否则将呈现2。有人知道从哪里将用户传递到模板吗?除了上下文之外,还有什么从基于类的视图传递到模板 多谢各位 以下是观点: from django.views.generic import DetailView f
中的用户
,如果user.u经过身份验证
,但是我检查了Sdetailview
的上下文,用户
不在其中。当我以管理员身份登录时,模板将呈现1
,否则将呈现2
。有人知道从哪里将用户
传递到模板吗?除了上下文之外,还有什么从基于类的视图传递到模板
多谢各位
以下是观点:
from django.views.generic import DetailView
from . import models
class Sdetailview(DetailView):
context_object_name = "details"
model = models.School
template_name = "basicapp/sdetail.html"
这是模型模板
{% extends "basicapp/bbase.html" %}
{% block body_block %}
{% if user.is_authenticated %}
<h1>1</h1>
{% else %}
<h1>2</h1>
{% endif %}
<div class="container">
<h1>School Details</h1>
<p>{{details.name}}</p>
<p>{{details.principal}}</p>
<p>{{details.location}}</p>
<p><a class='btn btn-warning' href="{% url 'bapp:update' pk=details.pk %}">Update</a></p>
</div>
</div>
{% endblock %}
{%extensed“basicap/bbase.html”%}
{%block body_block%}
{%if user.u经过身份验证%}
1.
{%else%}
2.
{%endif%}
学校详情
{{details.name}
{{details.principal}}
{{details.location}
{%endblock%}
如前所述,DetailView继承自多个mixin和属性
正在传递上下文和请求。你也可以这样做
request.user.is_authenticated
上下文处理器也在被传递。
默认情况下:
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.contrib.auth.context\u processors.auth',负责用户的身份验证
更多关于上下文处理器的信息。但除了上下文,还有什么传递给模板的呢?