2017-09-28 1 views
0

//models.py로그인() 및 로그 아웃() django.contrib.auth.views

from django.contrib.auth.models import AbstractUser 
from django.contrib.sessions.models import Session 

class CustomUser(AbstractUser): 

    addr1= models.CharField(max_length=20) 
    addr2= models.CharField(max_length=20) 
    city= models.CharField(max_length=20) 
    state= models.CharField(max_length=20) 

forms.py

from django.contrib.auth.forms import AuthenticationForm 
from django import forms 

class LoginForm(AuthenticationForm): 
    username = forms.CharField(label="Username", max_length=30, 
           widget=forms.TextInput(attrs={'class': 'form-control', 'name': 'username'})) 
    password = forms.CharField(label="Password", max_length=30, 
           widget=forms.TextInput(attrs={'class': 'form-control', 'name': 'password'})) 

//project/urls.py(the 아우터 하나)

from django.contrib.auth import views 
from student.forms import LoginForm 

url(r'^login/$', views.login, {'template_name': 'login.html', 'authentication_form': LoginForm}, name='login'), 
    url(r'^logout/$', views.logout, {'next_page': '/home'}), 

//login.html(the 로그인 템플릿)

내가 로그인? 이런 식으로 로그 아웃 할 때

이은 아니지만 ... 여기에 호출되는 로그인() 및 로그 아웃()는 settings.py //settings.py

LOGIN_REDIRECT_URL = '/login/sample' 

입니다 django.contrib.auth의 login() 및 logout()을 확장 할 수 있습니까 ??? 예 당신이 할 수있는

답변

1

뿐만 아니라 로그인의 확장

settings.py

LOGIN_REDIRECT_URL = 'the name of the url' 
LOGOUT_URL = 'the name of the url' 

urls.py

from django.contrib.auth.views import login, logout 
from django.core.urlresolvers import reverse_lazy 

url(r'^login/$', login, {'template_name': 'login.html'}, name='login'), url(r'^logout/', logout, {'next_page': reverse_lazy('the name of the url')}, name='logout'),

login.html

<form method="post" action="{% url 'login' %}"> 
<div class="form-group"> 
    {% csrf_token %} 
    <label for="username">Usuario</label> 
    <input id="username" type="text" name="username" class="form-control" required placeholder="Usuario"> 
</div> 
<div class="form-group"> 
    <label for="password">Contraseña</label> 
    <input id="password" type="password" name="password" class="form-control" required placeholder="Contraseña"> 
</div> 
<button class="btn btn-primary btn-block" type="submit">Ingresar</button> 

+0

어디에서 login()을 확장 했습니까? – Shefali

+0

django.contrib.auth.views 가져 오기 import login, logout을 URL에 사용하십시오. –