【发布时间】:2015-02-16 02:24:55
【问题描述】:
当我尝试通过我的django项目的登录页面登录时,有消息User with this Username already exists. 这里我使用了我自己的身份验证视图:
def login_view(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is None:
return HttpResponseRedirect('/logger/bad_login/')
if user.is_active:
login(request, user)
return HttpResponseRedirect('/')
else:
return HttpResponseRedirect('/logger/bad_login/')
else:
form = LoginForm()
return render(request, 'logger/login.html', {'form': form})
后来我发现了 django stock auth 视图和表单。但是还是想知道为什么我的视图不能正常工作。
我的记录器应用程序的 urls.py,它也用于保存用户活动的数据
from django.conf.urls import patterns, include, url
from logger import views
urlpatterns = patterns('',
url(r'^$', views.logger_view, name='log'),
url(r'^login/$', views.login_view, name = 'login'),
url(r'^bad_login/$', views.bad_login_view, name = 'bad_login'),
)
还有模板
{% extends "base.html" %}
{% block title %}Login {% endblock title %}
{% block content %}
<form action="/logger/login/" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{% endblock content %}
登录表单
class LoginForm(forms.ModelForm):
class Meta:
model = User
fields = ('username', 'password')
【问题讨论】:
-
向我们展示您正在使用的模板和您的网址。
-
LoginForm类是你自己的还是Django的内置类?
-
添加了模板、url和表单源代码
-
您确定您的网址被重定向到正确的网址吗?
-
在输入不正确的数据视图后正常工作并重定向到所需的页面。 '/' URL 怎么样?它正确吗?我在项目的其他块中使用它
标签: django django-views django-authentication