4
我有贯穿教程的问题,似乎这些问题源于此:Django的登录应用教程问题
(r'^l/login/$', 'django.contrib.auth.views.login'),
看来我已经做了所有正确的,但形式不显示。 如果我点击登录。我回到没有窗体的同一页面。
我错过了什么吗?
这里的代码:
urls.py:
from django.conf.urls.defaults import *
from formsapp.views import *
from login.views import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
#Forms1:
(r'^$', main_page),
#Forms2
(r'^register/', main_page1),
#FormsLogin:
(r'^l/', login_main_page),
(r'^l/login/$', 'django.contrib.auth.views.login'),
(r'^l/logout/$', 'logout_page'),
views.py:
from django.http import HttpResponse, Http404, HttpResponseRedirect
from django.contrib.auth import logout
from django.contrib.auth.models import User
from django.template import RequestContext
from django.shortcuts import render_to_response
def login_main_page(request):
return render_to_response('mainpage.html', RequestContext(request))
def logout_page(request):
logout(request)
return HttpResponseRedirect('/l/')
base.html文件:
<html>
<head>
<title> {% block title %}{% endblock %}</title>
</head>
<body>
<h1>{% block head %}{% endblock %}</h1>
{% block content %}{% endblock %}
<br>
<br>
<br>
<a href="/l/">Login Main Page</a>
{% if user.is_authenticated %}
<a href="/l/logout/">Log out </a>
{% else %}
<a href="/l/login/">Log in </a>
{% endif %}
</body>
</html>
的login.html:
{% extends "base.html" %}
{% block title %}Log in{% endblock %}
{% block head %}Log in{% endblock %}
{% block content %}
{% if form.has_errors %}
<p> Username or password didn't work. Please enter them again </p>
{% endif %}
<form method="post" action=".">
<p><label for="id_username">Username:
</label>{{ form.username }}</p>
<p><label for="id_password">Password:
</label>{{ form.password }}</p>
<input type="hidden" name="next"
value="/l/" />
<input type="submit" value="Log in" />
</form>
{% endblock %}
感谢bilion!你是主人。那是错误! – MacPython 2010-08-11 14:10:16
固定格式化[Lev Levitsky](http://stackoverflow.com/users/1258041/lev-levitsky)版本,thx Lev打破答案代码... – rombarcz 2013-12-23 13:51:03