2014-05-14 3 views
0

다른 템플릿에 포함 된 경우 데이터가 표시되지 않는 :템플릿이 내가 다음 줄이 포함 된 html 파일이

core.html 
{% include 'events/events.html' %} 

을 그리고 나는이 다른 템플릿이 : 나는를 열 때

events.html 
{% for event in events %} 
    {{ event.event_name }} <br/> 
{% endfor %} 

events.html를로드 URL 완벽하게 데이터를 보여줍니다

Evento 1 
Pentaho Workshop 

을하지만 난을 열 때 메인 URL로 core.html이로드되면 아무것도 표시되지 않습니다. for 블록에서 "blabla"라고 쓰면 그 블록이 표시됩니다 !!!

이벤트 -> views.py

from django.shortcuts import render 
from models import Events 

def events_index(request): 
    events = Events.objects.all() 
    return render(request, "events/events.html", locals()) 

코어 ->이

from django.shortcuts import render 

def core_index(request): 
    return render(request, "core/core.html", locals()) 

이 사람이 나를 도울 수 views.py?

+0

'core.html'과'events.html'에 해당하는 뷰는 어떻게 생겼습니까? – ob1quixote

+0

@ ob1quixote는이 정보를 포함하도록 질문을 업데이트했습니다. –

답변

1

을 통해 events 개체를 템플릿 컨텍스트로로드하는 events_index보기를 호출하는 events.html의 URL로 이동합니다. core_index보기에는 events이 포함되어 있지 않으므로 처리 할 루프가 없습니다. 이벤트 모델에 대한 가져 오기를 추가하고 events = Events.objects.all()에서 core_index까지 예상대로 작동합니다.

+0

그것은 일했다! 어쨌든 응용 프로그램 내에서 모든 논리와 프로세스를 재사용 할 수 있습니까? 내가 기대하는 방식은 내가 표현하고 싶은 아이디어입니다 ... 그것을 할 수있는 방법이 있습니까? –

+1

당신이 원하는 것을 이해하고, include, _q.v._ [ "다른 뷰 내에서 뷰를 호출 할 수 있습니까?"(http : // stackoverflow)의 값에 대해 다른 뷰에서 뷰를 포함 할 수 있다고 생각합니다. .com/questions/4808329/can-i-call-a-view-from-another-view). 그러나 나는 그렇게 생각하지 않는다. 두 뷰에서 Events 모델을 참조해야하는 경우에는 그렇게하십시오. 뷰는 모델의 컴포지션이어야하며 필요한 렌더링 된 HTML을 반환하는 데 필요한 논리 여야합니다. 동일한 모델을 두 가지 이상의 관점에서 참조하는 것이 좋습니다. – ob1quixote

+1

도움과 설명에 감사드립니다. 많이 도와 줬어! –

관련 문제