我想调用一个函数,它位于/inscription/views.py中,因为所有视图(因为它是用于登录的)。我需要在参数中传递用户名和密码才能记录用户。django在所有视图中调用函数(登录)
def login_user(request):
if request.method =='POST':
auth_form=AuthenticationForm(data=request.POST)
if auth_form.is_valid():
username = request.POST.get('username')
password = request.POST.get('password')
uti = authenticate(username = username,password = password)
if uti:
if uti.is_active:
login(request, uti)
return HttpResponseRedirect('/accueil')
else:
return HttpResponse("Your account is disabled.")
else:
return HttpResponse("Invalid login details supplied.")
else:
auth_form=AuthenticationForm()
return render_to_response('authentication.html',
{'auth_form': auth_form}, RequestContext(request))
def logout_user(request):
logout(request)
,在我base.html文件我想补充是这样的:如果我正确理解你的问题
<label class="form_login">pseudo : </label>
<input type="text" name="username" id="id_username" class="login_input">
<label class="form_login">mot de passe : </label>
<input type="text" name="password" id="id_password" class="login_input">
<input value="login" type="submit"/>
<button><a href="/inscription/logout">logout</a></button>
不,这不是我的问题对不起,我再试一次^^ 功能登录和注销是在/铭文的视图。 但是,“login”和“logout”按钮以及“username”和“password”项在base.html中不在inscription.html中,因为用户可以在所有视图中连接自己(在网站的顶部所有的网站)。这就是为什么我把它放在base.html中。 那么我怎么能在所有视图中调用登录和注销功能(登录需要2个参数,用户名和密码,所以我需要发送这两个参数)。 非常感谢你 – 2015-02-09 18:36:54
@clementl看到我的更新 – almalki 2015-02-11 08:44:14
非常感谢你这是我的问题我会尽快测试 谢谢 – 2015-02-11 16:15:13