django-registration模板未显示用户登录

时间:2012-08-18 01:53:39

标签: django registration django-registration

我正在使用当前版本的django并使用django-registration

我在服务器上运行了一切,并在this blog的帮助下完成了模板。

有时页面显示用户登录,有时base.html说用户没有登录。我想我必须将用户传递给模板,但我不知道要查找什么,文档在这个停止设置之后。我怎样才能让这个Base.html工作,它说我没有登录。然后我进入登录页面,然后在该页面上说我已登录。

这似乎是具体的网址。它会说我已登录,移动到另一个页面,它提供了我登录。为什么我不能在网站范围内,我缺少什么

django-registration是一个包,所以我不知道我能做什么,改变视图功能? 以下是我的base.html

 {% load i18n %}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <link rel="stylesheet" href="/style.css" />
    <title>{% block title %}User test{% endblock %}</title>


</head>

<body>
    <div id="header">
        {% block header %}
    {% if user.is_authenticated %}
    {% trans "Logged in" %}: {{ user.username }} 
    (<a href="{% url auth_logout %}">{% trans "Log out" %}</a> | 
    <a href="{% url auth_password_change %}">{% trans "Change password" %}</a>)
    {% else %}
    <a href="{% url auth_login %}">{% trans "Log in" %}</a>
    {% endif %}
    <hr />
        {% endblock %}
    </div>


    <div id="content">
        {% block content %}{% endblock %}
    </div>

    <div id="footer">
        {% block footer %}
        <hr />
        {% endblock %}
    </div>
</body>

</html>

1 个答案:

答案 0 :(得分:1)

您没有发布视图代码,但我怀疑您的问题与您没有在所有视图函数上传递RequestContext的事实有关。

模板中的User变量由上下文处理器添加。

只是这样做:

ctx = RequestContext(request)
在您的视图函数中

并通过以下方式将其传递给模板处理器:

context_instance=ctx