Django管理员网址 [英] Django Admin urls
问题描述
我想在我的Django应用程序中通过反向URL直接使用管理网站,但出现此错误:没有名为admin.site.urls的模块
I would like to use administration website directly by reverse url in my Django application but I get this error : No module named admin.site.urls
我有如下所示的urls.py文件:
I have urls.py file which looks like :
import os
from django.conf.urls import url, include
from django.contrib import admin
from django.conf.urls.static import static
from django.conf import settings
from BirthCertificate import views
from Identity import views
from Accueil import views
from log import views
from Mairie import views
from Table import views
from Recensement import views
from Configurations import views
from Mariage import views
import debug_toolbar
from django.views.generic.base import TemplateView
urlpatterns = [
url(r'^$', TemplateView.as_view(template_name=os.path.join(settings.BASE_DIR, 'Accueil/templates/Choice.html')),
name='choice'),
url(r'^admin/', include('admin.site.urls')),
url(r'^BirthCertificate/', include('BirthCertificate.urls')),
url(r'^Identity/', include('Identity.urls')),
url(r'^Accueil/', include('Accueil.urls')),
url(r'^Home/', include('log.urls')),
url(r'^Mairie/', include('Mairie.urls')),
url(r'^Table/', include('Table.urls')),
url(r'^Recensement/', include('Recensement.urls')),
url(r'^Configurations/', include('Configurations.urls')),
url(r'^__debug__/', include(debug_toolbar.urls)),
url(r'^Mariage/', include('Mariage.urls')),
]
我的HTML模板之一具有:
And one of my HTML template has :
{% if request.user|has_group:"admin" %}
<li><a href="{% url "admin" %}" ><span class="glyphicon glyphicon-log-out"></span> Administration </a></li>
{% endif %}
出了什么问题?
我找不到解决该错误的方法..
Something is wrong ? I don't find How I can solve this error ..
推荐答案
在Django 1.9+ 中,您不需要使用 include
。使用可调用的 admin.site.urls
,而不是字符串'admin.site.urls'
。
In Django 1.9+, you don't need to use include
. Use the callable admin.site.urls
, not the string 'admin.site.urls'
.
url(r'^admin/', admin.site.urls),
在Django 2.0+ 中,您可以使用 path()
代替 url()
。
In Django 2.0+, you can use path()
instead of url()
.
path('admin/', admin.site.urls),
在Django中< 1.9 您将 admin.site.urls
传递给 include
。
url(r'^admin/', include(admin.site.urls)),
要反转管理索引URL,请将模板中的url标记更改为:
To reverse the admin index url, change the url tag in your template to:
{% url "admin:index" %}
这篇关于Django管理员网址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!