即使用户登录,django登录也会失败

即使用户登录,django登录也会失败,django,Django,下面是我的用户登录页面代码。如果登录显示注销链接,我请求用户登录。但当我点击submit时,它会打开新主页并显示登录链接,而不是注销链接 <!DOCTYPE html> <html> <head> <title>please login</title> </head> <body> {% if form.errors %} <p class="text

下面是我的用户登录页面代码。如果登录显示注销链接,我请求用户登录。但当我点击submit时,它会打开新主页并显示登录链接,而不是注销链接

<!DOCTYPE html>
<html>
<head>
    <title>please login</title>
</head>
    <body>
        {% if form.errors %}
            <p class="text-warning">Your login credential did not match</p>
        {% endif %}
        <form role="form" class="form-horizontal" method="post" action="{% url 'boardgame_home_page' %}">
            {% csrf_token %}
            {{ form }}
            <input class="btn btn-primary" type="submit" value="Login"/>
            <input type="hidden" name="next" value="{{ next }}" />
        </form>
    </body>
</html>
url.py

urlpatterns += patterns('django.contrib.auth.views',
    url(r'^logout/','logout',{'next_page':'boardgame_home_page'},name='boardgames_logout'),
)

urlpatterns = patterns('django.contrib.auth.views',
    url(r'^$','login',{'template_name':'login/login.html'},name='boardgames_login'),
)
我的家乡景色 从django.shortcuts导入渲染到响应

def home_page(request):
    return render_to_response('home/home.html')

您没有使用“来自请求的用户”参数

使用主页模板中的请求参数

home/home/html

<!DOCTYPE html>
<html>
<head>
    <title>board game</title>
</head>
<body>

    {% if request.user.is_authenticated %}
        <a href="{% url 'boardgames_logout' %}">logout</a>
    {% else %}
        <a href="{% url 'boardgames_login' %}">login</a>
    {% endif %}

    {% if request.user.is_authenticated %}
        <h1> Hi {{ request.user.unsername }} !</h1>
    {% else %}
        <p>welcome the my page , <a href="{% url 'boardgames_login' %}">click here to login</a> </p>
    {% endif %}
</body>
</html>

棋盘游戏
{%if request.user.u经过身份验证%}
{%else%}
{%endif%}
{%if request.user.u经过身份验证%}
你好{{request.user.unsername}!
{%else%}
欢迎来到我的页面

{%endif%}
您需要确保始终向视图传递
RequestContext
。最简单的方法是使用,如下所示:

from django.shortcuts import render

def home_page(request):
    return render(request, 'home/home.html')
在模板中,默认情况下,当前登录的用户作为
{{user}}
可用,但仅当您传入
请求上下文时可用


现在我得到了
匿名用户

这是有意义的,因为您的表单正在提交到
boardgame\u主页
,如果您提交的查看代码是主页表单,则您实际上没有登录任何人

看看django提供的,它向您展示了如何让用户登录。在主页视图中需要类似的逻辑


最后,不要忘记,然后确保需要登录用户的任何视图都是属性。

您可以显示您的视图代码和
设置.py
?您传递到模板的用户很可能与
请求.user
不同。您是否碰巧传递了
用户
?你可以发布首页查看功能吗?这是错误的,因为请求已经在django模板中可用;这一点也不干。现在我变得匿名了。现在我变得匿名了
<!DOCTYPE html>
<html>
<head>
    <title>board game</title>
</head>
<body>

    {% if request.user.is_authenticated %}
        <a href="{% url 'boardgames_logout' %}">logout</a>
    {% else %}
        <a href="{% url 'boardgames_login' %}">login</a>
    {% endif %}

    {% if request.user.is_authenticated %}
        <h1> Hi {{ request.user.unsername }} !</h1>
    {% else %}
        <p>welcome the my page , <a href="{% url 'boardgames_login' %}">click here to login</a> </p>
    {% endif %}
</body>
</html>
from django.shortcuts import render

def home_page(request):
    return render(request, 'home/home.html')