别摸我
别摸我
文章目录
  1. Django中INSTALLED_APPS顺序的重要性

Django中INSTALLED_APPS顺序的重要性

Django中INSTALLED_APPS顺序的重要性

用Django自带的用户认证框架,新建app_name为account,创建models和form表单后, account下的 urls.py 如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
from django.conf.urls import url
from . import views
from django.contrib.auth.views import login
from django.contrib.auth.views import logout
# ...


urlpatterns = [
url(r'^login/$', login, name='login'),
url(r'^logout/$', logout, name='logout'),
# ...
]

创建 registration/login.htmlregistration/logged_out.html 模板。

运行后发现logout一直后跳转至Django后台的注销界面:




debug许久之后无果,翻阅Django官方文档后发现:

When several applications provide different versions of the same resource (template, static file, management command, translation), the application listed first in INSTALLED_APPS has precedence.

就是说当多个APP提供了不同的版本的相同资源时,INSTALLED_APPS前面的APP具有优先权。

将account放在 django.contrib.admin 前面:

1
2
3
4
5
6
INSTALLED_APPS = [
# ...
'account',
'django.contrib.admin',
# ...
]

问题解决~

支持一下
扫一扫,支持heaven
  • 微信扫一扫
  • 支付宝扫一扫