1.最初に、Googleコードhttp://code.google.com/p/typo-py/を使用してSVNライブラリからダウンロードしました。
2.フィルターを作成する際のガイドとして、 公式のドキュメントを参照しました 。
3.以前に作成されたポートフォリオモデルでテストを行いました-ここから、そのような方法が判明しました。 typographus.pyファイルをmysite / Portfolio / templatetagsに配置します(空の__init__.pyファイルをそこに配置することを忘れないでください)。 ファイルの最後にフィルターコード自体を追加しました。
from django import template
register=template.Library()
@register.filter
@stringfilter
def typographus(string):
"""Russian typorgify"""
if type(string) is not unicode:
string = unicode(string)
return Typographus().process(string)
4. settings.pyファイルのINSTALLED_APPSリストに、ハンドラーを接続する行mysite.portfolio.templatetags.typographusを追加しました。
5. htmlテンプレートで、次のコードが判明しました。
{% extends "base.html" %}
{% load typographus %}
...
{% block content %}
{% autoescape off %}
<h1>{{ portfolio.title|typographus }}</h1>
{{ portfolio.text|linebreaks|typographus }}
{% endautoescape %}
{% endblock %}
実際、それがすべてです。 執筆の過程で小さな問題にぶつかりました:タイポグラファー自体がutf8の行を必要とし、フィルターチェーンが使用されている場合(段落転送の場合: {{portfolio.text | linebreaks | typographus}} )、エラーが生成されます。 そのため、フィルター自体には、必要に応じて文字列のタイプとutf8の変換のチェックがあります。
私は少ししわくちゃになったことを学びました-私は最近Djangoを使用します-どこかで間違えたら-私を修正してください タイポグラファーのイゴールに再び感謝します。