2016-09-07 212 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>