我是Django的新手,所以這可能是一個簡單的問題。我正在嘗試將URL傳遞給我的views.py中的另一個類。這個URL只是我的數據庫表中的一個PK ID。我不斷收到一個錯誤,指出:Django通過URLS,獲取錯誤NoReverseMatch反向爲''drui''參數'('',)'和關鍵字參數'{}'沒有找到
Reverse for ''drui'' with arguments '('',)' and keyword arguments '{}' not found
我的代碼如下:
urls.py
url(r'^drui/(?P<disease_id>\d+)/$', 'myapp.views.drui', name='drui')
HTML
drui_index.html
<form class="disease_form" action="{% url drui_index %}" method="post">{% csrf_token %}
<div class="form-block">
{{ diseaseForm.as_table }}
</div>
</form>
drui.html
<form class="disease_form" action="{% url 'drui' disease_id.id %}" method="post">{% csrf_token %}
<div class="form-block">
{{ diseaseForm.as_table }}
{{ indicatorInlineFormSet.as_table }}
</div>
</form>
views.py
def drui_index(request):
diseaseForm = DiseaseForm(request.POST)
if diseaseForm.is_valid():
new_disease = diseaseForm.save()
url = reverse('drui', kwargs={'disease_id': new_disease.id})
return HttpResponseRedirect(url)
else:
diseaseForm = DiseaseForm()
return render_to_response("drui_index.html", {'diseaseForm': diseaseForm}, context_instance=RequestContext(request))
#I am passing disease_id to the class below
def drui(request, disease_id):
disease = get_object_or_404(Disease, pk=disease_id)
....
嗨danihp,報價沒有爲我工作。如果有幫助,該錯誤指向了drui.html代碼{%url'drui'Physician_UI_disease_id.id%}。 – nlr25
另外,對於'drui_index.html'上的'action'形式,您可能需要將'drui_index'作爲''drui_index''。 – jheld
當我在引用中使用'drui_index'時,我得到了drui_index的一個不匹配的反轉。不知道爲什麼。 – nlr25