簡體   English   中英

Django TypeError收到了意外的關鍵字參數'opcao_id'

[英]Django TypeError got an unexpected keyword argument 'opcao_id'

好的,所以我嘗試刪除與“ questao”相關的“ opcao”。在我的html中,我具有以下按鈕:

<a href="{% url 'votacao:apagaopcao' questao.id %}">
    <button> Apagar Opção </button>
</a>

導致此網址:

url(r'^(?P<opcao_id>[0-9]+)/apagaopcao/$', views.apagaopcao, name="apagaopcao"),

這是該視圖:

def apagaopcao(request, opcao_id, questao_id):
questao = get_object_or_404(Questao, pk=questao_id)
try:
    opcao_seleccionada = questao.opcao_set.get(pk=request.POST['opcao'])
except (KeyError, Opcao.DoesNotExist):
    # Apresenta de novo o form para votar
    return render(request, 'votacao/detalhe.html', {'questao': questao, 'error_message': "Não escolheu uma opção",})
else:
    opcao_seleccionada.delete()
    return render(request, 'votacao/detalhe.html', {'questao': questao})

它拋出了這個異常:

Exception Type: TypeError
Exception Value: apagaopcao() missing 1 required positional argument: 'questao_id'

我只是開始嘗試弄清django,所以我在這里想念什么? 謝謝!!

您僅在url定義中定義了一個命名參數opcao_id ,但是您的視圖中有2個參數opcao_idquestao_id當然不會起作用。 您應該在網址定義中添加questao_id ,或者將其從視圖函數中刪除。

查看django文檔,了解url參數如何與視圖功能一起使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM