Giriş yapmak için kullanıcı adı/şifre ve giriş butonu ile giriş yapmak isteyen bir başlık içeren bir ana sayfa oluşturmak istiyorum. Şu anda, sayfamı nasıl kurduğum, giriş yapmanın beni giriş sayfasına göndereceğidir. Bilgiye girmek ve sitemin ana sayfasında oturum açmak için "giriş yap" tuşuna basmak istiyorum. Ana sayfada oturum açmak için urls.py
ve views.py
'umu nasıl tasarlayabilirim?anasayfa giriş formu Django
Ana sayfamın şablonu olan bir base.html
var. Ben aynı sayfada giriş yetkisi istiyorsa o form verilerini göndermek için emin kalacaktı olarak action
özellik için biraz karıştı
<form action='/accounts/auth/' method='POST'> {% csrf_token %}
<div >
<label for='username'> Username </label>
<input type='text' name='Username' id='username'>
<label for='password'>Password </label>
<input type='password' name='Password' id='password'>
<input type='submit' value='login'>
</div>
</form>
: şablonun içinde, ben bir login.html
kısmi bir görünüm yaptı.
Benim views.py
def login(request):
c = {}
c.update(csrf(request))
return render(request, 'login.html', c)
def auth_view(request):
username = request.POST.get('username', '')
password = request.POST.get('password', '')
user = auth.authenticate(username = username, password = password)
if user is not None:
auth.login(request, user)
return HttpResponseRedirect('/accounts/loggedin')
else:
return HttpResponseRedirect('/accounts/invalid')
Giriş yaparken tüm ana sayfasında yapılır yanı ise nerede HttpResponseRedirect
emin değilim.
Belki HttpResponseRedirect
yerine render(request,SomePartialView.html)
yapabilirim. Ben oldukça kolaydır django-registration
tavsiye
url(r'^$', 'photoblog.views.login'), #displays login.html
url(r'^accounts/auth/$', 'photoblog.views.auth_view'), #authorize login
tanımlanmamış. URL'lere aktarmayı denedim, ancak bu işe yaramadı. Neyi kaçırıyorum? –
@MichelleGlauser - ithalat gerekli olan her şey olmalıdır. Uzakta önerebileceğim tek şey yazım hatalarını ve yanlış yolları kontrol etmektir. –
Oturum açmak için varsayılan şablon konumunu nasıl değiştirebilirim? Şablon_adı – shenk