我收到 NoReverseMatch 错误:
Reverse for 'state' with arguments '('', '')' and keyword arguments '{}' not found.
我有 2 个 id 被传递给模板,这似乎是问题所在。
视图.py
def state(request, country_id, state_id):
countrystate = State.objects.all()
return render_to_response("template.html", {'countrystate': countrystate})
网址.py
url(r'^my_index/(?P<country_id>\d+)/$', 'my_App.views.main', name='main'),
url(r'^my_index/(?P<country_id>\d+)/value/$', 'my_App.views.value', name='value'),
url(r'^my_index/(?P<country_id>\d+)/option/$', 'my_App.views.option', name='option'),
url(r'^my_index/(?P<country_id>\d+)/state/$', 'my_App.views.country', name='country'),
url(r'^my_index/(?P<country_id>\d+)/state/(?P<state_id>\d+)/$', 'my_App.views.state', name='state'),
模板.html
{% load url from future %}
<form class="option_form" action="{% url "state" country.id state.id %}" method="post">
有任何想法吗?
编辑:我拥有的是国家和州的列表。所以在其他模板中,我可以从列表中选择一个国家,然后我可以从该国家中选择一个州。这就是我现在的位置。选择我的状态后,我试图渲染上面的模板,但我得到了一个 noreversematch。state.id 和 country.ids 在 url 中。我只能用 country.id 来做这件事,但不能同时用 country 和 state.id 来做。