que je veux faire ces choses:comment enregistrer l'objet « utilisateur » qui ne sert pas à insérer à chaque fois que vous en avez besoin à l'aide django
1.open la login_view
(qui est la connexion de l'utilisateur de la page)
2.Ecrire mon nom d'utilisateur et mot de passe, et de mettre « login » bouton, puis soumettre à la login_submit
vue
3.in login_submit
vue, si votre nom d'utilisateur et mot de passe sont à droite, vous revenez à la page d'accueil
4. mais quand je return HttpResponseRedirect("/")
au hpmeage, le homepage.html
(le code suivant) ne possède un objet user
5.i doivent faire comme ceci en login_submit
vue:
return render_to_response('homepage.html',{'user':user})
6.that est Lourdeur, Je veux utiliser return HttpResponseRedirect("/")
, donc devrais-je définir un cookie qui enregistre l'utilisateur, ou a un autre moyen facile d'enregistrer l'utilisateur qui n'a pas l'habitude de l'insérer chaque fois que vous en avez besoin.
grâce
le homepage.html est:
{% if user.is_authenticated %}
<p>Welcome, {{ user.username }}. Thanks for logging in.</p>
{% else %}
<p>Welcome, new user. Please <a href="/account/login_view">login</a></p>
{% endif %}
la page d'accueil virw est:
def home(request):
return render_to_response('homepage.html')
c'est login_view:
def login_view(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/') # Redirect after POST
else:
form = LoginForm() # An unbound form
return render_to_response('accounts/login_view.html',{'form': form,})
le login_view.html est :
<form action="/account/login_submit/" method="post">
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
<p><input type="submit" value="login" /> or <a href="/account/register_view"><input type="button" value="register"></a></p>
</form>
et
def login_submit(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect("/")
else:
return HttpResponse('user is not active')
else:
#return HttpResponseRedirect("/account/login_submit")
return HttpResponse('login error')