Tuesday, November 24, 2015

Re: Problem with login and register form

You are using the same form for both register and login. Set different names for the forms in the template context.

On Tuesday, November 24, 2015 at 6:34:30 PM UTC-2, Dariusz Mysior wrote:
Hi I had a problem with display a form of login and register, please look on it.

my template access_ownsite.html

{% load staticfiles %}

<!DOCTYPE html>
<html lang="en">
<head>
   
<title>{% block title %}{% endblock %}</title>
   
<link rel="stylesheet" type="text/css" href="{% static 'ownsite/css/style.css' %}" />


</head>
<body>
{% block content %}
<div id="header">
    {% if user.is_authenticated %}
       
<p>Jesteś zalogowany <a href='ownsite/my_view'>{{ user.username }}</a></p>
       
<p><a href='/accounts/logout_view'>wyloguj</a></p>
    {% else %}
       
<h2>Login</h2>
       
<form action = '/accounts/login_view/' method = 'post'>{% csrf_token %}
        {{form.as_p}}
       
<input type='submit' value='Log' />
       
</form>
    {% endif %}
</div>
<div id="content">
   
<div id="left_content">
        {% block logout_msg %}
           
<p> {{ info }} </p>
           
<p>Nikt nie jest zalogowany w tym momencie.</p>
        {% endblock %}
   
</div>
   
<div id="right_content">
        {% if user.is_authenticated == False %}
           
<h2>Register</h2>
           
<form action = '/accounts/register_user/' method = 'post'>{% csrf_token %}
                {{form.as_p}}
               
<input type='submit' value='Register' />
           
</form>
        {% endif %}
   
</div>
</div>
<div id="footer">
<p>copyright &copy; Dariusz Mysior</p>
</div>
{% endblock %}
</body>
</html>


my view.py

from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django.shortcuts import render_to_response, render
from django.http import  HttpResponseRedirect
from django.core.context_processors import csrf
from django.contrib.auth import authenticate, login, logout


def login_view(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('/accounts/my_view')
           
else:
               
# Return a 'disabled account' error message
                ...
       
else:
           
...

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/44800974-3d87-411c-848a-03050edb6daf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment