Django TypeError获得意外的关键字参数“opcao_id”

2024-06-02 04:55:35 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,所以我要删除一个与“questao”相关的“opcao” 在我的html中有一个按钮:

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

指向以下url:

^{pr2}$

这是这样的观点:

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,那我还缺什么呢?谢谢!!在


Tags: idurlgetreturnrequesthtmlbuttonrender
1条回答
网友
1楼 · 发布于 2024-06-02 04:55:35

在url定义中,您只定义了一个命名参数opcao_id,但是您的视图opcao_idquestao_id中有两个参数,这当然行不通。您应该在url定义中添加questao_id,或者从views函数中删除它。在

选中django doc on how url parameters work with views function。在

相关问题 更多 >