如何创建我自己的登录表单Django

时间:2013-07-01 01:46:45

标签: python django forms login

我想在Django中创建一个登录表单,我使用了这个方法:

def Login(request):
    if request.method == 'POST':
        form = AuthenticationForm(request.POST)
        if form.is_valid:
            username = request.POST['username']
            password = request.POST['password']

            access = authenticate(username=username, password=password)
            if access is not None:
                if access.is_active:
                    login(request,access)
                    return HttpResponseRedirect('/')
                else:
                    return render_to_response('noactive.html', context_instance=RequestContext(request))
            else:
                HttpResponseRedirect('/')
    else:
        form = AuthenticationForm()
    return render_to_response('login.html', {'form':form}, context_instance=RequestContext(request))

有没有办法创建一个表单,其中包含在forms.py中创建的表单,而不是Django为您提供的django.contrib.auth.forms.AuthenticationForm?

1 个答案:

答案 0 :(得分:1)

所以,我认为你混淆了两件不同的事情:一件是你想问用户的。第二个是你想要存储在数据库中的东西。

第一个问题在viewsforms中实施,而后者则在models中实施,特别是User profiles

通常,表单与您要对数据库执行的操作相关联。插入新内容或修改现有内容(包括用户登录)。

所以,我对你的问题的回答是:你应该尝试阅读我添加的这4个链接。您必须了解视图的基本概念,即服务器对用户请求的响应,表单作为用户输入修改数据库而不损坏数据的工具,以及模型作为以结构化方式存储信息的数据结构。

希望这有帮助。