Django: Как я могу определить представление вызова из шаблона?

Вы добавляете некоторые классы в раздел «Подробнее».

<div class="uk-margin-top uk-position-bottom uk-margin-medium-left uk-margin-bottom">
      <a class="el-link uk-button uk-button-default" href="#" uk-scroll="">Read more</a>
</div>
36
задан bryan 27 April 2009 в 23:30
поделиться

5 ответов

Нет, и это было бы плохой идеей. Прямая ссылка на имя функции представления из шаблона приводит к чрезмерно тесной связи между слоем представления и слоем шаблона.

Здесь гораздо лучшим решением является система наследования шаблонов Django. Определите общий родительский шаблон с блоком для (небольшой) области, который необходимо изменить в версии каждого представления.

18
ответ дан 27 November 2019 в 06:08
поделиться

Это звучит как прекрасный пример универсального представления, которое вы можете настроить.

См. Следующие ресурсы:

Эти ссылки должны помочь вам упростить ваши представления и ваши шаблоны соответственно.

1
ответ дан 27 November 2019 в 06:08
поделиться

одно простое решение:

def view1(req):
   viewname = "view1"
   and pass this viewname to the template context   

def view2(req):
   viewname = "view2"
   and pass this viewname to the template context   

в шаблоне обращаются к имени представления как

{{viewname}} 

, а также вы можете использовать это в сравнениях.

0
ответ дан 27 November 2019 в 06:08
поделиться

Почему бы не попытаться настроить cookie-файл сеанса, а затем прочитать cookie-файл из вашего шаблона.

в ваших представлениях установить cookie-файлы

def view1(request):
 ...
#set cookie
 request.session["param"]="view1"

def view2(request):
  request.session["param"]="view2"


then in your ONE template check something like..

{% ifequal request.session.param "view1" %}
   ... do stuff related to view1
{% endifequal %}

{% ifequal request.session.param "view2" %}
  ... do stuff related to "view2"
{% endifequal %}

Gath

-1
ответ дан 27 November 2019 в 06:08
поделиться

Я работаю над этим для системы справочных страниц, где я хочу, чтобы каждый вид соответствовал справочной странице в моей cms с отображением страницы по умолчанию, если для этого вида не определена справочная страница. Я наткнулся на этот блог, где они используют контекстный процессор шаблона и некоторую магию python inspect, чтобы вывести имя представления и заполнить им контекст.

1
ответ дан 27 November 2019 в 06:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: