使用django身份验证系统时无法呈现login.html

时间:2014-08-27 03:06:16

标签: python django django-authentication django-class-based-views

我正在使用django默认身份验证系统来进行登录和注销。但是,单击login按钮时,无法呈现我的模板login.html;只有网址被更改。有人能看出为什么会这样吗?顺便说一下,我正在使用django 1.6。感谢。

这是我的项目结构:

├── my_news
│   ├── __init__.py
│   ├── settings.pyc
│   ├── templates
│   │   └── registration
│   │       ├── logged_out.html
│   │       └── login.html
│   ├── urls.py
│   ├── wsgi.py
│   
├── manage.py
└── news
    ├── __init__.py
    ├── admin.py
    ├── models.py
    ├── templates
    │   ├── base.html
    │   └── news
    │       └── news_list.html
    ├── tests.p
    ├── views.py

我的项目级别my_news / urls.py:

urlpatterns = patterns(
'',
url(r'^admin/', include(admin.site.urls)),
url(r'$', NewsListView.as_view(), name='home'),
url(r'^login/$', 'django.contrib.auth.views.login'),
url(r'^logout/$', 'django.contrib.auth.views.logout'),
)

base.html文件:

{{ user }}
{% if user.is_anonymous %}
<a href="{% url 'django.contrib.auth.views.login' %}">login</a>
{% else %}
<a href="{% url 'django.contrib.auth.views.logout' %}">logout</a>
{% endif %}

2 个答案:

答案 0 :(得分:1)

login.html模板应放在templates / admin目录而不是注册目录

答案 1 :(得分:0)

我发现了这个问题。结果我在主页网址中错过了^个字符。

之前它是url(r'$', NewsListView.as_view(), name='home'),,它应该是这样的:

url(r'^$', NewsListView.as_view(), name='home'),

相关问题