Форматирование сообщения в блоге в Flask / WTForms / Google App Engine

Вот вопрос вкратце:

Мои сообщения в блоге на...

http://www.seanbradley.biz/blog

...полностью отсутствует форматирование. Это просто большой блок открытого текста. Любой код или теги HTML, такие как /n или ... не говоря уже о h1, h2 и т. д., не оказывают заметного влияния на то, как текст отображается на странице.

Я запускаю Flask с WTForms, развернутым в GAE. Как я могу это исправить? Есть ли способ внедрить редактор WYSGIWYG, например TinyMCE, в поле формы для новых записей в блоге?

Я хочу выглядеть просто и элегантно, как...

http://www.quietwrite.com

или

http://lucumr.pocoo.org/

... или, как минимум, что-то вроде собственного редактора Stackoverflow.

Форматирование отображается в сообщениях во всех вышеперечисленных случаях при публикации (а не через отвратительно раздутую панель инструментов редактора).

Я не уверен, связано ли то, что запрещает отображать теги HTML в моих сообщениях, с настройкой класса в WTForms, или с чем-то, что должно быть специально обработано в хранилище данных GAE, или с чем-то, что мне нужно исправить в Flask (например, модель постов). Любое четкое решение о том, как я, как относительно молодой разработчик, могу включить форматирование в эти сообщения в блоге, приносит награду. Конкретный код из приложения ниже...

Примечание: есть также расширение Flask-Markdown, но я также не уверен, как его интегрировать для достижения желаемого эффекта.


Подробный вопрос, а также фрагменты кода.

Я запускаю Flask (конечно, с шаблонами Jinja/маршрутизацией Werkzeug) в Google App Engine и не понимаю, как интегрировать WYSIWYG-редактор на страницу. Я посвятил посты в блоге...

Я предполагаю, что при включении TinyMCE вызов JavaScript идет в заголовке шаблона... вот так:




В настоящее время в тегах файла шаблона...



{{ form.title|safe }}

{% if form.title.errors %}
    
    {% for error in form.title.errors %}
  • {{ error }}
  • {% endfor %}
{% endif %} {{ form.prose|safe }} ...more WTForm validation / error handling...



Я подозреваю, что проблема в том, как форма создается/управляется через WTForms. WTForms находится в моем каталоге /packages/flaskext. Где-то требуется что-то вроде следующего...?

class wtforms.fields.TextAreaField(default field arguments, choices=[], coerce=????????, option_widget=????????)


Но TextAreaField импортируется из (я не знаю откуда)... и не знаю, правильно ли это место/вещь для настройки. Находится ли ответ в init.py, file.py и/или html5.py модуля WTForm?

Опять же, я был бы счастлив, если бы только те HTML-теги, которые я включаю в пост, отображались при публикации... но изящный способ упростить форматирование своих сообщений тем, кто не привык к HTML, был бы вдвойне оценен . Любая помощь, указывающая мне в правильном направлении, очень ценится!

При необходимости добавьте код...



У меня есть следующий класс в файле models.py...

class PostModel(db.Model):
    """New Post Model"""
    title = db.StringProperty(required = True)
    prose = db.TextProperty(required = True)
    when = db.DateTimeProperty(auto_now_add = True)
    author = db.UserProperty(required = True)



И следующий класс в моем form.py...

class PostForm(wtf.Form):
    title = wtf.TextField('Title: something buzz-worthy...', validators=[validators.Required()])
    prose = wtf.TextAreaField('Content: something beautiful...', validators=[validators.Required()])
7
задан Sean 5 April 2012 в 09:35
поделиться