2017-01-04 1 views
0

템플릿의 선택적 매개 변수가있는 뷰를 호출하려고하는데 예외가 발생합니다. 다음과 같이 템플릿 내에서 뷰를 호출 할 수 없습니다.

<ul> 
    {% for answer in answers %} 
     <li><a href="{% url 'page' answer.target_page_id %}">{{ answer.choice_text }}</a></li> 
    {% endfor %} 
</ul> 

그러나 어떤 이유로

는, 예외가 발생 : page.html 템플릿에서 호출하는 나의 시도가있어 여기

def page(request, page_id=1): 
    page = Page.objects.filter(pk=page_id).first() 
    context = { 
     'page': page, 
     'answers': Answer.objects.filter(source_page_id=page.id) 
    } 
    return render(request, 'page.html', context) 

그리고 :

내이다

Reverse for 'page' with arguments '(1,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$$'] 

여기가 어떻게됩니까? 미리 감사드립니다.

답변

-1

봅니다 그것을 변경 :

이 잘못 :

def page(request, pk): 
    page = Page.objects.get(pk=1).first() 
    context = { 
     'page': page, 
     'answers': Answer.objects.filter(source_page_id=page__id) 
    } 
    return render(request, 'page.html', context) 
1

당신은 당신의 urls.py에서보기에 입력 매개 변수를 정의 할 필요가

url(r"^page/$", page, name="page"), 

이 옳다 :

url(r"^page/(?P<page_id>.*)/$", page, name="page"), 
관련 문제