ジャンゴカスタムテンプレートフィルターとフィルター

時には、このようなXX文字以上などのバックエンド、フロントエンド処理ニーズによって返されるデータは、我々は、フィルタを使用する必要があり、...この需要を示しています。Djangoはフィルタモジュールを内蔵しているか、フィルタリングするために、独自のフィルタを定義することができます。

、Djangoはフィルタが付属しています:

views.py:

DEF テスト(要求):
     インポート日時
    CUR_TIME = datetime.datetime.now()
    年齢 = 18です = 結婚
    article_contentのは = " 、Djangoは組み込まれているタブ:Djangoは組み込まれているタブ、非常に使いやすい、次のように非常に使いやすい、次のようにコードがある:Djangoは組み込まれていページング、非常に使いやすい、次のように:
    たNAV = [ 日記私のアルバム私が感じる私は1を感じます私は2感じる私の気分3 " ]
    注釈 = " <スタイルのH1 = 'フォントサイズ:500pxなど'>大丈夫<の/ H1> " 
    h1_str = ' <Pスタイル= "フォントサイズ:98px">ハハ</ P> ' 
    js_str = " <スクリプト>警告(「ハッハッハ」)</ SCRIPT> 
    article_contentの = 北朝鮮の金と3人の脂肪の弟は、熱い太陽を避けるために、選択ベンの夕方の太陽が太陽に乗り込んいた
    と言う = 、今日は食べる時間が出会いを愚かなxが、その男はあまりにも213と、公然とSBの十分なディナー排便や通りに排尿、後に、キューをジャンプすることである。
    を返すレンダリング(リクエスト、test.htmlという地元の人々については、())は、     地元の人々については()でありますすべての定義された変数の戻り

第二に、カスタムフィルタ:ディレクトリを構築するには、タグがアプリモジュールの下に置かれているディレクトリです。my_tags.html

ディレクトリ構造:

 

 

 コード:

ジャンゴインポートテンプレート
 #のカスタムタグ。あなたは、ユーザーにPythonパッケージを作成する必要があり、パッケージ名が「templatetags」でなければならない 
レジスタ= template.Library()  名が固定されている登録 
(名前= register.filter @ HM #のここでの名前は時にフロントエンドのメソッド呼び出しであります言葉のない名前は、メソッド名である#@register.filter()
DEF Mingan(値):
     IF  金と3つの脂肪 での値: = value.replace(金と3脂肪金正恩の戻り

@ register.filter()
DEFmingan2(値、S):    フロントエンドパラメータ渡し、2つのカスタムフィルタパラメータの最大
    IF  黄金の3脂肪 での値: = value.replace(金3脂肪、S)
     の戻り


シンプルタグ: 
register.simple_tag @     simple_tagは、複数のパラメータ渡すことができ
DEFの mingan3(値、* :引数)
     のために Sを引数:
         IF S 値: = value.replace(Sを、" ** " の戻り

 

第三に、フロントエンドは、カスタムフィルタとフィルタ道が付属しています

{%負荷my_tags%}ここでは、カスタムフィルタ紹介するために#

{#導入カスタムタグ#} 
<!DOCTYPE HTML > 
< HTML LANG = "EN" > 
< > 
    < メタのcharset = "UTF-8" > 
    < タイトル>タイトル</ タイトル> 
</ ヘッド> 
< 身体> 
{{年齢}} 
{{年齢|追加: "1"}} 
{#1は#ageに基づいて追加} 
< BR > 
{名}} { 
{{名|追加: "先生" |アッパー}} 
{#}は、連鎖#をサポートしています
。< BR >
{{}}コメント
{#{{コメント|安全}}#}
{#これは安全な文字列であること、そして、安全なバック追加した場合、ブラウザは、ラベルの内容に応じて解析します。ブラウザセーフ}#を追加していない、ラベルを解析する必要がないときにCSSの注入は、発生する可能性があり
、< BR > 
{{article_contentの| truncatechars:「20」}} 
{#は、文字列、追加の文字列を切り捨て...表示}#
< BR > 

{{たNAV |スライス: "0 :. 3"}} 
{#}スライス#
< BR > 
{navs.0} {} 
{}#0番目の要素を得る#
< BR > 
{{たNAV | }}長さ
{#}の長さ#
< BR > 
{{たNAV |参加: "===="}} 
{#}スプライシング#
< BR > 
{{著者|デフォルト: "管理者"}} 
< BR > 
{ CUR_TIME {| DATE: 'Y / M / D H:I:S'}} 
< 
{{{#Js_str |安全}}#} 
{#これは安全な文字列であること、次に、安全なバック追加した場合、ブラウザは、ラベルの内容に応じて解析します。注入のJS#}が発生する可能性が高い
< BR > 
} | {HM {article_contentの} 
{{article_contentのを| mingan2: 'ゴールド脂肪'}} 
{は##} register.filter使い方
{#}使用法#
< BR > 
{%は「213を言うmingan3 "" SB ""愚かなX「%} 
{} #simpleタグの使用#

< BR > 
{{名前|下}} 

</ ボディ> 
</ HTML >

四、urls.py urlpatterns "は、経路( 'テスト/'、views.test)" を追加します

その後127.0.0.1:8000/test訪れ、Djangoプロジェクトを実行します。これは、スタイルになります

 

おすすめ

転載: www.cnblogs.com/hancece/p/11771109.html