2

我想在 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 创建表单?

4

1 回答 1

1

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

第一个问题是在视图表单中实现的,而后者是在模型中实现的,特别是用户配置文件

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

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

希望这可以帮助。

于 2013-07-01T06:37:25.110 回答