反向找不到参数('')。变量不起作用

时间:2018-05-17 15:06:49

标签: django django-templates

我无法弄清楚为什么我的网址与我的变量不一致。这样

<form method="post" action="{% url 'p4_descriptor_update' 1 form.instance.pk %}" class="js-descriptor-update-form">

它有效,但是这个

<form method="post" action="{% url 'p4_descriptor_update' projectid form.instance.pk %}" class="js-descriptor-update-form">

结果:

  

反转'p4_descriptor_update'并带有参数'('',249)'不   找到。尝试了2种模式

我可以在模板中调用{{ projectid }}并显示正确的数字(即1)

urls.py

url(r'^ajax/(?P<id>[0-9]+)/(?P<pk>\d+)/p4_descriptor_update/$', views.p4_descriptor_update, name='p4_descriptor_update'),

views.py

class phase4 (APIView):

    renderer_classes = [TemplateHTMLRenderer]
    template_name = 'szenario/phase4.html'

    def get(self, request, id, format=None):
        projectid = id
        context = {... 'projectid': projectid}
        return Response(context)

不确定是否相关,但该按钮不在主模板中,但包含在{% incldue .. %}中。如果需要,我可以添加JS或所需的任何进一步信息。

1 个答案:

答案 0 :(得分:0)

您可以使用关键字语法:

{% url 'p4_descriptor_update' id=projectid pk=form.instance.pk %}

可以在Django docs

中找到更多信息