Django管理员网址 [英] Django Admin urls

查看:145
本文介绍了Django管理员网址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆