![](/img/trans.png)
[英]Django “TypeError: list() got an unexpected keyword argument 'id''” error
[英]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_id
和questao_id
当然不会起作用。 您应该在网址定义中添加questao_id
,或者将其从视图函数中删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.