2017-10-31 9 views
0

장고 1.11을 사용하고 있습니다. UpdateView에서 DeleteView 템플릿에 대한 링크를 추가하려고합니다. 거기에 내가 시도하고있는 방법보다이 acheive 더 좋은 방법은 아마도하지만 난 장고에 새로운 오전 그래서 난 노력하고있어 방법은 내가 {% url 'calendar_delete' pk=event_id %}Django가 URL 태그에 변수를 전달합니다.

을 내 템플릿에 myapp/<pk>/delete/

에 직접 URL을 사용하는 것입니다 내 모델에서

나는 템플릿 위와 같이하기 때문에 렌더링 나던 코드로

url(r'^calendar/(?P<pk>\d+)/delete/$',views.CalendarDelete.as_view(),name='calendar_delete'), 

이 내 URL을에서

class Event(models.Model): 
    event_id = models.AutoField(primary_key=True) 

이 ~ NoReverseMatch 예외. '{'pk ':' '}'을 (를) 찾을 수 없으므로 분명히 모델에서 event_id를 가져 오지 못합니다. 거기에 번호를 하드 코드하면 렌더링되고 URL은 DeleteView 템플릿으로 안내합니다.

아무도 URL 태그에 <pk>/event_id을 어떻게 얻을 수 있는지 조언 할 수 있습니까?

은 UpdateView 템플리트의 URL에 있으며 URL에서 변수로 추출하여 URL 태그에 전달하려고했습니다. 변수를 전달할 수는 있지만 추출은 가능합니다.

내가 원하는 것보다 원하는 결과를 위해 더 나은 방법을 사용하는 방법에 대한 조언을 포함하여 도움이 될 것입니다. 건배!

+2

event_id에 값이 있습니까? event_id가 비어있는 것 같습니다. –

+0

나는 그것이 올바르게 지나갈 때가 없다고 생각한다. 모델 데이터베이스에 값이 있으며 필요한 모든 필드가 양식에 올바르게 표시되므로 모델의 event_id에 문제가 없다고 가정합니다. – cr1

+0

보이는 부분 중 일부에서 {{event_id}} –

답변

0

UpdateView에서 템플릿의 object에 액세스 할 수 있어야합니다.

{% url 'calendar_delete' pk=object.pk %} 
+0

Brilliant를 입력 해보세요. ! 정말 고맙습니다 – cr1