Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
什么';s为';用户';在django模板中_Django - Fatal编程技术网

什么';s为';用户';在django模板中

什么';s为';用户';在django模板中,django,Django,所以我只了解了基于类的视图,以及它们如何将上下文传递给相应的模板进行渲染。但我注意到我在下面附加的一些代码中有一些奇怪的地方: django模板可以识别中的用户,如果user.u经过身份验证,但是我检查了Sdetailview的上下文,用户不在其中。当我以管理员身份登录时,模板将呈现1,否则将呈现2。有人知道从哪里将用户传递到模板吗?除了上下文之外,还有什么从基于类的视图传递到模板 多谢各位 以下是观点: from django.views.generic import DetailView f

所以我只了解了基于类的视图,以及它们如何将上下文传递给相应的模板进行渲染。但我注意到我在下面附加的一些代码中有一些奇怪的地方:

django模板可以识别
中的
用户
,如果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',负责用户的身份验证


更多关于上下文处理器的信息。

但除了上下文,还有什么传递给模板的呢?