2017-04-07 2 views
0

템플릿에 두 개의 변수가있는 URL을 생성하려고하는데 같은 오류 메시지가 나타납니다. 나는 Djang 아주 새로운 해요 그리고 그것은 나를 매우 너트 드라이브, 그래서 나는 당신의 도움 :)Django : urls.py의 다중 변수가 작동하지 않습니다.

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 %} 

view.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,}) 

URL을 .py :

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

답변

5

패턴 정규 표현식의 중간에 $이 있습니다. 그것이 종결 문자입니다. 그 이후로는 결코 일치하지 않을 것이다. 중간에있는 것을 제거하십시오.

+0

그게 효과가있어, anwers 주셔서 감사합니다! – Stakha

1

URL 설정에 2 $이 있습니다. 그것은 개행을 가정하기 때문에 유효한 정규식이 아닙니다.

관련 문제