주요 질문은 프로그래밍 방식으로 내용을 넣을 블록을 선택하는 방법입니다. 다음은 다른 프로젝트에서 작동하지만 새로운 프로젝트에서는 작동하지 않습니다 몇 가지 이유. 두 프로젝트 모두 동일한 머신에서 같은 (기본) 템플릿 컨텍스트 프로세서를 사용하고 있습니다.Django 템플릿 {% block %} 태그에서 변수 사용
나는이
...
{% block Title %}<h1>Whoo</h1>{% endblock %}
{% block Content %}<p>Hi there</p>{% endblock %}
...
같은 그리고이
{% extends "base.html" %}
...
{% block myblock.name %} <p> {{ myblock.content }} </p> {% endblock %}
<p> {{ myblock.name }} </br> {{ myblock.content }} </p>
...
같은 확장 템플릿 내가 얻을 것으로 예상
myblock = { 'name': 'Title', 'content': 'stuff' }
return render_to_response('extended.html', {'myblock': myblock}, context_instance=RequestContext(request))
같은
로 렌더링을가는 기본 템플릿이 첫 번째 프로젝트를 시작하십시오.
...
<p> stuff <p>
<p>Hi there</p>
<p> Title </br> stuff </p>
...
그러나 두 번째 프로젝트에 나는 얻을
...
<h1>Whoo</h1>
<p>Hi there</p>
<p> Title </br> stuff </p>
...
그래서 두 번째 프로젝트에서 myblock의 DICT가 전달되고 템플릿에 의해 처리하지만 것으로 보인다 {% 블록 myblock.name의 myblock.name %}는 변수가 아닌 리터럴로 해석됩니다. 장고가 {% block %} 태그 안의 변수를 평가하도록하는 방법에 대한 아이디어가 있습니까?
첫 번째 예와 같이 작동합니다. 두 프로젝트에서 코드가 동일하다고 확신합니까? – j0ker
Checked checked and rechecked :( – kalhartt