Python Django NoReverseMatch命名空间错误,模板呈现期间出错

Python Django NoReverseMatch命名空间错误,模板呈现期间出错,python,django,views,Python,Django,Views,我已经看了一整天了,现在我无法弄明白这一点 此时加载hotel/index.html时出现错误: NoReverseMatch at /hotel/ Reverse for 'activities' with arguments '(2,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['hotel/activities/'] Request Method: GET Request URL: http:/

我已经看了一整天了,现在我无法弄明白这一点

此时加载hotel/index.html时出现错误:

NoReverseMatch at /hotel/

Reverse for 'activities' with arguments '(2,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['hotel/activities/']

Request Method:     GET
Request URL:    http://127.0.0.1:8000/hotel/
Django Version:     1.8.5
Exception Type:     NoReverseMatch
Exception Value:    

Reverse for 'activities' with arguments '(2,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['hotel/activities/']

Exception Location:     /usr/local/lib/python3.4/dist-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 495
Python Executable:  /usr/bin/python3
Python Version:     3.4.3
Python Path:    

['/home/johan/sdp/gezelligehotelletjes_com',
 '/usr/lib/python3.4',
 '/usr/lib/python3.4/plat-x86_64-linux-gnu',
 '/usr/lib/python3.4/lib-dynload',
 '/usr/local/lib/python3.4/dist-packages',
 '/usr/lib/python3/dist-packages']

Server time:    Sun, 25 Oct 2015 16:18:00 +0000
Error during template rendering

In template /home/johan/sdp/gezelligehotelletjes_com/hotel/templates/hotel/index.html, error at line 8
Reverse for 'activities' with arguments '(2,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['hotel/activities/']
1   {% load staticfiles %}
2   
3   <link rel="stylesheet" type="text/css" href="{% static 'hotel/style.css' %}" />
4   
5   {% if netherlands_city_list %}
6       <ul>
7           {% for city in netherlands_city_list %}
8   
                  <li><a href="
      {% url 'hotel:activities' city.id %}
      ">{{ city.name }}</a></ul>


9           {% endfor %}
10      </ul>
11  {% else %}
12      <p>No polls are available.</p>
13  {% endif %}
酒店/url.py

from django.conf.urls import include, url
from django.contrib import admin

from hotel import views

urlpatterns = [
    url(r'^$', views.IndexView.as_view(), name='index'),
    url(r'^activities/$', views.ActivitiesView.as_view(), name='activities'),
]
hotel/index.html

{% load staticfiles %}

<link rel="stylesheet" type="text/css" href="{% static 'hotel/style.css' %}" />

{% if netherlands_city_list %}
    <ul>
        {% for city in netherlands_city_list %}
            <li><a href="{% url 'hotel:activities' city.id %}">{{ city.name }}</a></ul>
        {% endfor %}
    </ul>
{% else %}
    <p>No cities are available.</p>
{% endif %}
我已经找了一整天了,但还是弄不明白。(虽然它可能是其中一个较小的东西。)

我希望有人能帮助解决这个问题


提前谢谢

在模板中,您试图获得与位置参数(城市id)的反向匹配

然而,在您的url模式中,您并没有在url定义中设置任何参数规则

url(r'^activities/$', views.ActivitiesView.as_view(), name='activities'),
所以,你有这个错误

Reverse for 'activities' with arguments '(2,)' ... not found. 
检查文档以完成您打算做的事情

您可能需要将城市id与URL匹配的正则表达式组添加到URL中

url(r'^activities/([0-9]+)/$', views.ActivitiesView.as_view(), name='activities'),

(后者只是一个想法,您需要根据您的情况进行修改)

在模板中,您试图获得与位置参数(城市id)的反向匹配

然而,在您的url模式中,您并没有在url定义中设置任何参数规则

url(r'^activities/$', views.ActivitiesView.as_view(), name='activities'),
所以,你有这个错误

Reverse for 'activities' with arguments '(2,)' ... not found. 
检查文档以完成您打算做的事情

您可能需要将城市id与URL匹配的正则表达式组添加到URL中

url(r'^activities/([0-9]+)/$', views.ActivitiesView.as_view(), name='activities'),

(后者只是一个想法,您需要根据您的情况进行修改)

您的问题在于URL:

url(r'^activities/$', views.ActivitiesView.as_view(), name='activities'),
模板调用参数活动:

<a href="{% url 'hotel:activities' city.id %}">

但是这个参数不是作为参数传递的。解决办法是:

url(r'^activities/(?P<city>[0-9]+)/$', views.ActivitiesView.as_view(), name='activities'),
url(r'^activities/(?P[0-9]+)/$),views.ActivitiesView.as_view(),name='activities'),

您的问题在于URL:

url(r'^activities/$', views.ActivitiesView.as_view(), name='activities'),
模板调用参数活动:

<a href="{% url 'hotel:activities' city.id %}">

但是这个参数不是作为参数传递的。解决办法是:

url(r'^activities/(?P<city>[0-9]+)/$', views.ActivitiesView.as_view(), name='activities'),
url(r'^activities/(?P[0-9]+)/$),views.ActivitiesView.as_view(),name='activities'),

谢谢您的回答。我看过这个网站,但我已经看过了。我想我还有很多东西要学。顺便说一句,我相信这是一个很好的答案,推动人们朝着正确的方向找到正确的解决方案。谢谢你的回答。我看过这个网站,但我已经看过了。我想我还有很多东西要学。顺便说一句,我相信这是一个很好的答案,推动人们朝着正确的方向找到正确的解决方案。谢谢你的回答,Puam。这马上就解决了。谢谢你的回答,Puam。这立刻解决了问题。