Django 1.10 中的 NoReverseMatch

3
这是我的 url.py 文件。
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: []

所以,有人能告诉我如何解决这个问题吗?非常感谢。

这个文件在你的应用程序文件夹里吗?那你的项目文件夹呢? - almost a beginner
是的,它在我的应用程序文件夹中。 - Russell
1
将其设置在您的项目文件夹中。在与settings.py相同的文件夹中创建一个urls.py,然后添加'url(r'^admin /',admin.site.urls)',要调用它,请使用'{{link1:blablabla}}'。 - almost a beginner
谢谢@almostabeginner,请将其作为评论,我会接受您的答案。 - Russell
3个回答

1
你应该使用admin命名空间,就像文档中所写的那样。你还可以查看该命名空间中的其他管理URL。
{% url 'admin:index' %}

检查中。请稍等一秒。 - Russell
你没有在 URL 名称周围添加引号:{% url 'admin:index' %} - knbk

1
如果您想要一个指向 /admin/ 站点的 URL,请使用 admin:index。如果您安装了 django-extensions,您可以使用 ./manage.py show_urls 来获取您的应用程序的 URL 列表。

1

在您的项目urls.py中设置管理员URL,与您的settings.py文件在同一文件夹中

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

然后在您的模板中调用它: < p >< code ><a href="{% url 'admin:index' %} > 链接 </a>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接