Django:多变量网址.py不起作用

2024-10-01 07:44:08 发布

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

我试图在一个模板中构造一个包含两个变量的URL,但得到的却是相同的错误消息。 我刚到Django,所以我需要你的帮助:)

Exception Type: NoReverseMatch
Exception Value: Reverse for 'skill_update' with arguments '()' and keyword
arguments '{u'instancepk': 1, u'skillpk': 15}' not found. 1 pattern(s) 
tried: [u'persomaker/skill/update/(?P<skillpk>[0-9]+)$/(?P<instancepk>[0-9]+)$']

模板:

{% url 'persomaker:skill_update' skillpk=item.pk instancepk=instance.pk %}

你知道吗视图.py地址:

def skill_update(request,skillpk,instancepk):
    form = SkillCreateForm(request.POST)
    user = User.objects.get (id = request.user.id)
    instance = Character.objects.get (id = instancepk)
    if form.is_valid():
        form.save()
        return redirect('persomaker:skill_list', instance.id)
    else:
        skill = Skill.objects.get(id=pk)
        form = SkillCreateForm(initial={'character':instance})
        form.fields['skill'].widget = HiddenInput()
        form.fields['level'].queryset = range(0,7)
        form.fields['character'].widget = HiddenInput()
    return render(request, 'character/create_skill.html',
    {'instance':instance,
    'form': form,})

你知道吗网址.py地址:

url(r'^skill/update/(?P<skillpk>[0-9]+)$/(?P<instancepk>[0-9]+)$',
views.skill_update, name='skill_update'),

Tags: instanceform模板idfieldsgetobjectsrequest
2条回答

URL配置中有2$。这不是一个有效的正则表达式,因为它假定一个换行符。你知道吗

在模式regex的中间有一个$。这是终止字符;之后的任何字符都不会匹配。除去中间的那个。你知道吗

相关问题 更多 >