2016-09-07 3 views
2

Hier ist meine url.pyNoReverseMatch in 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'), 
] 

Als ich in Vorlage <li><a href="{% url 'admin' %}">Administration</a></li> Fehler get bin mit

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

So kann jemand mir sagen, wie diese zu lösen? Vielen Dank.

+0

Ist dies in Ihrem App-Ordner? Was ist mit Ihrem Projektordner? –

+0

Ja, es ist in meinem App-Ordner – nikolas

+1

Legen Sie es in Ihrem Projektordner. Erstelle eine urls.py in dem selben Ordner wo deine settings.py ist, dann füge 'url (r'^admin/', admin.site.urls),' hinzu und benutze ihn 'blablabla' –

Antwort

3

1. Machen Sie eine url.py in App-Ordner und verwenden

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

und in Vorlage verwenden

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

oder

  1. Verwenden <a href="/admin">Admin</a> und links url.py, wie es ist (keine Änderungen vornehmen)
1

Sie sollten Admin-Namespace verwenden, wie in der docs geschrieben. Sie können sich auch andere Admin-URLs in diesem Namespace ansehen.

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

Ich habe mich geändert. Aber nicht gelöst. – nikolas

+0

@nikolas Update-Antwort, erste war ein Fehler –

+0

Überprüfung. Eine Sekunde – nikolas

1

Verwenden admin:index wenn Sie eine URL /admin/ Website haben wollen. Wenn Sie django-extensions installieren können Sie ./manage.py show_urls verwenden, um die Liste der URLs für Ihre App

1

Set Admin-URL in Ihrem Projekt urls.py, selben Ordner wie die settings.py

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

Dann rufen, um es in Vorlage:

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