2017-02-20 8 views
0

私は2つのパラメータをキャッチしようとしていますが、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のための2つのオプションがあります。ただ、一連のIDと

コールseries:seasonurl(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'))を呼び出しをし、シーズンID - 私は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