Используйте разметку в файлах, используя django - PullRequest
0 голосов
/ 28 июня 2010

В настоящее время я работаю над сайтом, используя django, моя проблема в том, что сайт нужно переносить с использованием сценариев php на использование django.Хотя содержание сайта хорошо поддерживалось предыдущим сопровождающим, я должен использовать уценку для файлов, в которых уже содержится ОГРОМНОЕ количество контента, например, главная страница разделена на три файла в каталоге, например, a.html, b.html, c.html, хотя все они содержат простое текстовое содержимое, нужно ли отображать их все по отдельности, если я использую файл view.py для анализа структуры или использую шаблон для того же самого, реальный вопрос заключается в том, как анализироватьсодержимое файла ВНУТРИ шаблона

Я написал шаблон:

{% extends "catalog.html" %}

{% block content %}

<div class="yui-g" id="masthead">
<div id="main_feature">
    <div id="main_feature_content">
    {% include "features/main.html" %}
    </div>
</div>
</div>

<div class="yui-g" id="main_information">
<div class="yui-g" style="float: left; width: 49%">
{% include "features/about.html" %}
</div>
<div class="yui-g" style="float: right; width: 49%">
    <h2>Recent Headlines</h2>
    <a href="/news">More</a>
</div>
</div>


<div class="yui-g" id="features_container">
<div id="features">
<div class="feature feature_developer">
    <div class="feature_content">
    {% include "features/1.html" %}
    </div>
</div>

<div class="feature feature_middle feature_community">
    <div class="feature_content">
    {% include "features/2.html" %}
    </div>
</div>

<div class="feature feature_community">
    <div class="feature_content">
    {% include "features/3.html" %}
    </div>
</div>
</div>
</div>


{% endblock %}

это включенный файл, который мне понадобился для анализа: - {% include "features / about.html"%} но любой поймет, что при этом будет отображаться только содержимое файла, а не разобранный html.Заранее спасибо за помощь

1 Ответ

0 голосов
/ 28 июня 2010

Тег {% include%} обрабатывает только файлы шаблонов Django и не поддерживает какую-либо пользовательскую обработку, такую ​​как обработка уценки сама по себе. У вас есть несколько вариантов:

  • Вы можете обернуть все содержимое уценки во включенных шаблонах с {% load markup %}{% filter markdown %} и {% endfilter %}. Тег фильтра применяет указанные фильтры к его содержимому. Вам понадобится строка {% load markup %} в начале каждого шаблона, поскольку каждый шаблон должен загружать дополнительные библиотеки тегов, которые он использует.
  • Ваше представление может выполнять загрузку содержимого и предоставлять его как переменную контекста, так что вы можете сделать что-то вроде {{ aboutcontent|markdown }} в своем шаблоне (где aboutcontent - это переменная контекста, предоставленная вашим представлением).
    • Ваше мнение также может сделать конвертацию уценки для вас, поэтому вам просто нужно сделать {{ aboutcontent }}.
  • Вы можете написать собственный тег шаблона, который выполняет преобразование загрузки и уценки, но это гораздо сложнее, и вам, вероятно, будет лучше воспользоваться одним из других вариантов, либо просто переосмыслите и обновите шаблоны, чтобы этого не требовалось. обработка.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...