用户变量如何传递到主视图模板

时间:2018-08-23 17:10:47

标签: python django

我目前正在https://wsvincent.com/django-allauth-tutorial-custom-user-model/上学习教程

我看看他们如何实现主视图。

pages / views.py

# pages/views.py
from django.views.generic import TemplateView


class HomePageView(TemplateView):
    template_name = 'home.html'

templates / home.html

<!-- templates/home.html -->
<h1>Django Login Mega-Tutorial</h1>
{% if user.is_authenticated %}
<p>Hi {{ user.username }}
<p><a href="{% url 'logout' %}">Log out</a></p>
{% else %}
<p><a href="{% url 'signup' %}">Sign Up</a></p>
<p><a href="{% url 'login' %}">Log In </a></p>
{% endif %}

但是,我看不到如何将user变量传递到主视图模板(templates/home.html)。我可以知道怎么回事吗?

1 个答案:

答案 0 :(得分:2)

假设您的设置模块中有默认模板CONTEXT_PROCESSORS,其中一个模板包括django.contrib.auth.context_processors.auth,该模板可在所有模板中设置user变量。

此外,您可以查看source code