2013-08-05 57 views
-2

我收到此錯誤Django的逆向爲「」與參數「(」「)」和關鍵字參數‘{}’未找到錯誤

Reverse for 'option' with arguments '('',)' and keyword arguments '{}' not found. 

,而我的渲染我的選項頁面。選項頁是3部分工作流中的最後一頁。前2頁工作正常。我不確定爲什麼沒有渲染。我的代碼如下:

views.py

def drui_index(request): 
    disease_list = Disease.objects.all() 
    context = {'disease_list':disease_list, 'hide_breadcrumb': hide_breadcrumb} 
    return render(request, 'drui_index.html', context) 


def drui(request, disease_id): 
    disease = get_object_or_404(Disease, pk=disease_id) 

    if request.method == "POST": 
     indicatorInlineFormSet = IndicatorFormSet(request.POST, request.FILES, instance=disease) 

     if indicatorInlineFormSet.is_valid(): 
     indicatorInlineFormSet.save() 
     return HttpResponseRedirect(reverse('option', kwargs={'disease_id':disease_id})) 

    else: 
     indicatorInlineFormSet = IndicatorFormSet(instance=disease) 

    return render(request, 'drui.html', {'disease':disease, 'indicatorInlineFormSet': indicatorInlineFormSet}) 


def option(request, disease_id): 

    disease = get_object_or_404(Disease, pk=disease_id) 

    if request.method == "POST": 
     optionInlineFormSet = OptionFormSet(request.POST, request.FILES, instance=disease, prefix='option') 
     outcomeInlineFormSet = OutcomeFormSet(request.POST, request.FILES, instance=disease, prefix='outcome') 


     if optionInlineFormSet.is_valid() and outcomeInlineFormSet.is_valid: 
      optionInlineFormSet.save() 
      outcomeInlineFormSet.save() 
      return HttpResponseRedirect(reverse('splash', kwargs={'disease_id':disease_id})) 

    else: 
     optionInlineFormSet = OptionFormSet(instance=disease,prefix='option') 
     outcomeInlineFormSet = OutcomeFormSet(instance=disease,prefix='outcome') 

    return render(request, 'option.html', {'optionInlineFormSet': optionInlineFormSet, 'outcomeInlineFormSet': outcomeInlineFormSet}) 

urls.py

url(r'^drui_index/$', 'Physician_UI.views.drui_index', name='drui_index'), 
url(r'^drui_index/(?P<disease_id>\d+)/$', 'Physician_UI.views.drui', name='drui'), 
url(r'^drui_index/(?P<disease_id>\d+)/option/$', 'Physician_UI.views.option', name='option'), 

HTML drui_index.html

{% load url from future %} 
<form class="disease_form" action="{% url "drui_index" %}" method="post">{% csrf_token %} 

HTML drui.html

{% load url from future %} 
<form class="disease_form" action="{% url "drui" disease.id %}" method="post">{% csrf_token %} 

HTML option.html

{% load url from future %} 
<form class="option_form" action="{% url "option" disease.id %}" method="post">{% csrf_token %} 

正如我前面提到的,第一個2頁(drui_index和drui)做工精細,但option.html沒有。我包含了大部分代碼,以防萬一我以錯誤的方式傳遞信息。

我使用Django 1.4

+0

這是你的第三個相同類型的問題。你沒有從你的舊錯誤中學到什麼嗎? –

+0

我仍然無法弄清楚阿米爾。我爲前兩個問題做了一些工作,我沒有以索引的形式致電。我在第一個2中工作,但我仍然無法弄清楚爲什麼反轉不起作用。 – nlr25

+0

對不起,andrewdotn,這不是重複。上面鏈接中的解決方案不適用於此問題。如果你看到任何突出的東西,請告訴我。或者如果你可以向我解釋什麼可能是問題。我一直在努力解決這類問題。 – nlr25

回答

1

你應該通過上下文disease對象在option視圖。您沒有在上下文中傳遞disease對象,並且在您使用disease.id的模板中傳遞錯誤。

return render(request, 'option.html', 
    {'optionInlineFormSet': optionInlineFormSet, 
    'outcomeInlineFormSet': outcomeInlineFormSet, 
    'disease': disease}) 
+0

謝謝阿米爾,我只是在看代碼的時候就明白了這一點。對不起,重複類似的問題。剛開始與Django,我一直在編程。我無法真正地思考...但我感謝你的幫助 – nlr25

相關問題