Django身份验证(自定义登录页面) [英] Django Authentication (Custom Login Page)

查看:89
本文介绍了Django身份验证(自定义登录页面)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试编写自己的django登录页面。一切正常,直到我尝试登录时才重定向到主登录视图。



模板

  {%扩展了 bdayremind-maininput.html%} 
{%block main%}

< form class = form-horizo​​ntal name = LoginForm action = / login / method = post>
{%csrf_token%}
{下一个%的百分比}
<输入类型=隐藏 name =下一个 value = {{下一个}} />
{%endif%}
< div class = control-group>
< label class = control-label for =用户名>用户名< / label>
< div class = controls>
<输入类型=文本 id =用户名 value = {{用户名}}占位符=用户名>
< / div>
< / div>
< div class = control-group>
< label class = control-label for =密码>密码< / label>
< div class = controls>
<输入类型=密码 name =密码 id =密码占位符=密码>
< / div>
< / div>
< div class = control-group>
< div class = controls>
< button type = submit class = btn>登录< / button>
< / div>
< / div>
< / form>
{%endblock%}

URLS

  urlpatterns = patterns('',
url(r'^ bdayremind_maininput / $','birthdayreminder.views.main'),
#登录/注销
(r'^ login / $','birthdayreminder.views.login_user'),
#(r'^ logout / $',logout_page),

视图

 导入日期时间$ d $$来自django.http import * 
来自django.shortcuts导入render_to_response
来自django.template import RequestContext
来自Birthdayreminder.models import *
from django.contrib.auth.decorators import import_required
from django.contrib.auth import authenticate,login

def login_user(request):
用户名=密码=''
(如果请求).POST:
用户名= request.POST.get('用户名')
密码= request.POST.get('密码')

用户=身份验证(用户名=用户名,密码ord = password)
如果用户不是None:
如果user.is_active:
login(请求,用户)
return HttpResponseRedirect('birthdayreminder.views.main')

return render_to_response('login.html',{'username':username},context_instance = RequestContext(request))



@login_required(login_url ='/ login /')
def main(request):
........

有什么想法吗?

解决方案

您忘记登录后将重定向添加到所需页面。 p>

Im trying to write my own django login page. Eveything is ok up to the point where I try to login and I just get redirected back to the main login view.

TEMPLATE

{% extends "bdayremind-maininput.html" %}
    {% block main %}

    <form class="form-horizontal" name="LoginForm" action="/login/" method="post">
    {% csrf_token %}
    {% if next %}
        <input type="hidden" name="next" value="{{ next }}" />
    {% endif %}
    <div class="control-group">
    <label class="control-label" for="username">Username</label>
        <div class="controls">
            <input type="text" id="username" value="{{username}}" placeholder="Username">
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="password">Password</label>
            <div class="controls">
                <input type="password" name="password" id="password" placeholder="Password">
            </div>
    </div>
    <div class="control-group">
        <div class="controls">
            <button type="submit" class="btn">Login</button>
        </div>
    </div>
    </form>
    {% endblock %}

URLS

urlpatterns = patterns('',
    url(r'^bdayremind_maininput/$', 'birthdayreminder.views.main'),
    # login / logout
    (r'^login/$', 'birthdayreminder.views.login_user'),
    #(r'^logout/$', logout_page),
)

VIEWS

import datetime
from django.http import *
from django.shortcuts import render_to_response
from django.template import RequestContext
from birthdayreminder.models import *
from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login

def login_user(request):
    username = password = ''
    if request.POST:
        username = request.POST.get('username')
        password = request.POST.get('password')

        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                return HttpResponseRedirect('birthdayreminder.views.main')

    return render_to_response('login.html',{'username': username}, context_instance=RequestContext(request))



@login_required(login_url='/login/')
def main(request):
........

Any Ideas ?

解决方案

You forgot to add redirect to the desired page after login.

这篇关于Django身份验证(自定义登录页面)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆