Django 多个 html 参数
Django multiple html paremeters
我正在尝试捕获两个参数,但我不知道如何通过 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
,您有两个选项 URL:
仅使用系列 ID (url(r'^(?P<serie_id>[0-9]+)/$', views.season, name='season')
) 调用 series:season
:
<ul>
{% for season in season_list %}
<li><a href="{% url 'series:season' series.id %}">{{ season.season_name }}</a></li>
{% endfor %}
</ul>
或者调用series:chapter
(url(r'^(?P<serie_id>[0-9]+)/(?P<season_id>[0-9]+)/$', views.chapter, name='chapter')
) 系列ID和季节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>
我正在尝试捕获两个参数,但我不知道如何通过 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
,您有两个选项 URL:
仅使用系列 ID (url(r'^(?P<serie_id>[0-9]+)/$', views.season, name='season')
) 调用 series:season
:
<ul>
{% for season in season_list %}
<li><a href="{% url 'series:season' series.id %}">{{ season.season_name }}</a></li>
{% endfor %}
</ul>
或者调用series:chapter
(url(r'^(?P<serie_id>[0-9]+)/(?P<season_id>[0-9]+)/$', views.chapter, name='chapter')
) 系列ID和季节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>