我想在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?
答案 0 :(得分:1)
所以,我认为你混淆了两件不同的事情:一件是你想问用户的。第二个是你想要存储在数据库中的东西。
第一个问题在views和forms中实施,而后者则在models中实施,特别是User profiles。
通常,表单与您要对数据库执行的操作相关联。插入新内容或修改现有内容(包括用户登录)。
所以,我对你的问题的回答是:你应该尝试阅读我添加的这4个链接。您必须了解视图的基本概念,即服务器对用户请求的响应,表单作为用户输入修改数据库而不损坏数据的工具,以及模型作为以结构化方式存储信息的数据结构。
希望这有帮助。