我是Django的新手,我正在做我的第一个项目,但是我得到了:
带有异常值的NoReverseMatch:“hiring_log_app”不是base.html中已注册的命名空间
具体如下:
href="{% url 'hiring_log_app:index' %}" >Hiring Log
href="{% url 'hiring_log_app:topics' %}" >Topics我确保我的命名空间是正确的,我查看了已经打开的其他主题,而没有弄清楚如何解决这个问题。
我粘贴urls.py:
from django.contrib import admin
from django.conf.urls import include, url
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'', include ('hiring_log_app.urls', namespace='hiring_log_app')),雇用log_app/urls.py:
"""Define URL patterns for hiring_log_app"""
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^topics/$', views.topics, name='topics'),
]views.py:
from django.shortcuts import render
from .models import Topic
def index(request):
"""The home page for hiring_log_app"""
return render(request, 'hiring_log_app/index.html')
def topics(request):
""" list of topics"""
topics = Topic.objects.raw( "SELECT text FROM HIRING_LOG_APP_TOPIC;")
context = {'topics' : topics}
return render(request, 'hiring_log_app/topics.html', context) 有人知道我在哪里犯错误吗?
发布于 2019-08-17 19:54:34
您在urlpatterns中错误地指定了名称空间。遵循以下模式:
from django.contrib import admin
from django.conf.urls import include, url
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'', include (('hiring_log_app.urls','hiring_log_app'), namespace='hiring_log_app'))编辑:
如果您正在使用Django 2.2.4,那么您应该使用路径而不是url,因为它的使用被re_path所取代。
from django.contrib import admin
from django.conf.urls import include
from django.urls import re_path
urlpatterns = [
re_path(r'^admin/', include(admin.site.urls)),
re_path(r'', include (('hiring_log_app.urls','hiring_log_app'), namespace='hiring_log_app'))https://stackoverflow.com/questions/57538482
复制相似问题