2016-09-07 93 views
2

这里是我的url.pyNoReverseMatch在Django 1.10

from django.conf.urls import url 
from django.contrib import admin 
from app import views, auth 
urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^$', views.index, name = 'index'), 
    url(r'^login/', auth.login, name = 'login'), 
    url(r'^logout/', auth.logout, name = 'logout'), 
] 

当我使用模板<li><a href="{% url 'admin' %}">Administration</a></li>得到错误

NoReverseMatch at/
Reverse for 'admin' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 

所以任何一个可以告诉我怎么解决这个问题?非常感谢你。

+0

这是在你的应用程序文件夹?你的项目文件夹呢? –

+0

是的,它在我的应用程序文件夹中 – nikolas

+1

将它设置在您的项目文件夹中。在settings.py所在的文件夹中创建一个urls.py,然后添加'url(r'^ admin /',admin.site.urls)',并将其命名为'blablabla' –

回答

3

1。使url.py在应用程序的文件夹,并使用

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
] 

和在模板中使用

<a href="{% url 'admin:index' %}">Admin</a> 

  • 使用<a href="/admin">Admin</a>和左url.py,因为它是(不作任何改动)
  • 1

    您应该使用admin命名空间,如写在docs中。您也可以查看该名称空间中的其他管理员网址。

    {% url 'admin:index' %} 
    
    +0

    我改变了。但没有解决。 – nikolas

    +0

    @尼古拉斯更新答案,第一个是一个错误 –

    +0

    检查。一秒 – nikolas

    1

    使用admin:index如果你想有一个网址/admin/网站。 如果安装django-extensions你可以使用./manage.py show_urls得到的URL列表中为您的应用程序

    1

    集管理URL在您的项目urls.py,同一文件夹中的settings.py

    Url(r'^admin/', admin.site.urls), 
    

    然后调用它您的模板:

    <a href="{% url 'admin:index' %} > link </a>