2017-02-20 30 views
0

我试图捕捉两个参数,但我不知道如何通过html发送它们。Django多个html参数

这是urls.py:

app_name = 'series' 
urlpatterns = [ 
    url(r'^$', views.index, name='index'), 
    url(r'^(?P<serie_id>[0-9]+)/$', views.season, name='season'), 
    url(r'^(?P<serie_id>[0-9]+)/(?P<season_id>[0-9]+)/$', views.chapter, name='chapter'), 
    url(r'^login/$', views.login, name='login'), 
] 

这是HTML:

<ul> 
{% for season in season_list %} 
    <li><a href="{% url 'series:chapter' season.id %}">{{ season.season_name }}</a></li> 
{% endfor %} 
</ul> 

这是视图:

def chapter (request, serie_id, season_id): 
    season = Season.objects.get(pk=season_id) 
    chapter_list = season.chapter_set.all() 
    return render(request, 'series/serie.html', {'chapter_list': chapter_list}) 

我有此错误:

Reverse for 'chapter' with arguments '(1,)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'series/(?P<serie_id>[0-9]+)/(?P<season_id>[0-9]+)/$'] 

我该如何解决它?根据您的urls.py

回答

1

,您对URL两种选择:

呼叫series:season只用系列ID(url(r'^(?P<serie_id>[0-9]+)/$', views.season, name='season')):同系列的ID

<ul> 
{% for season in season_list %} 
    <li><a href="{% url 'series:season' series.id %}">{{ season.season_name }}</a></li> 
{% endfor %} 
</ul> 

或致电series:chapterurl(r'^(?P<serie_id>[0-9]+)/(?P<season_id>[0-9]+)/$', views.chapter, name='chapter'))和季节编号 - 我不知道series来自哪里,所以你需要修改此代码才能使用。

<ul> 
{% for season in season_list %} 
    <li><a href="{% url 'series:chapter' series.id season.id %}">{{ season.season_name }}</a></li> 
{% endfor %} 
</ul> 
+0

谢谢,我不知道我可以传递这样的多个参数。 – Lechucico

+1

@Lechucico,如果这个答案解决了你的问题,你能否把它标记为正确的? – chachan

+0

我打算这样做,但出现一条消息:“你必须等待2个小时才能回答”。 – Lechucico