Пользовательская разметка в Django - PullRequest
1 голос
/ 01 июня 2009

Может ли кто-нибудь дать мне идею или, возможно, некоторые рекомендации о том, как создавать пользовательские разметки для django с использованием текстиля или Markdown (или я здесь ошибаюсь)?

Например: я хотел бы преобразовать следующие разметки (внешняя скобка означает, что они сгруппированы в один тег:
[
[Контакты]
* Контакт № 1
* Контакт № 2
* Контакт № 3
[Запросы друзей]
* Хосе
]

чтобы преобразовать их в:

<div class="tabs">  
    <ul> 
        <li class="tab">Contacts</li> 
        <li>Contact #1</li>
        (etc.. etc..)
    </ul>
</div>  

или регулярное выражение более рекомендуется для моих нужд?

Ответы [ 4 ]

3 голосов
/ 01 июня 2009

Встроенное приложение markup использует тег шаблона фильтра для визуализации текстиля, разметки и реструктурированного текста. Если это не то, что вы ищете, другой вариант - использовать поле «разметка». например.,

class TownHallUpdate(models.Model):
    content = models.TextField()
    content_html = models.TextField(editable=False)

    def save(self, **kwargs):
        self.content_html = textile.textile(sanitize_html(self.content))
    super(TownHallUpdate, self).save(**kwargs)

Пример из Джеймса Таубера (и Брайана Рознера) паттерны Джанго разговоры.

1 голос
/ 01 июня 2009

Django поставляется со встроенным приложением contrib, которое предоставляет фильтры для отображения данных с использованием нескольких разных языков разметки, включая текстильный и уценочный.

См. соответствующие документы для получения дополнительной информации.

0 голосов
/ 04 июня 2009

Что ж, похоже, лучший способ - это использовать регулярное выражение и создать свой собственный фильтр.

вот несколько ссылок, которые мне помогли:
http://showmedo.com/videos/video?name=1100010&fromSeriesID=110
http://www.smashingmagazine.com/2009/05/06/introduction-to-advanced-regular-expressions/

надеюсь, это поможет тому, у кого была такая же проблема, как у меня!

0 голосов
/ 01 июня 2009

В результате быстрого поиска в Google this

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...