フラスコマクロとインポートステートメント

マクロ
テンプレート内のマクロは、Pythonの関数に似ています。パラメーターを渡すことはできますが、戻り値はありません。頻繁に使用されるコードフラグメントをマクロに挿入し、固定されていない値を変数として抽出できます。

importステートメント
実際の開発では、一般的に使用されるいくつかのマクロが個別にファイルに配置され、必要に応じてこのファイルからインポートされます。importステートメントの使用方法は、Pythonでのインポートに似ています。forms.htmlというファイルがあり、マクロが2つあることを前提として、... as ...、...から... import ...またはfrom ... import ... as ...を直接インポートできます入力とテキストエリア

テンプレートをインポートしても、現在のコンテキストの変数はインポートされたテンプレートに追加されないことに注意してください。現在のコンテキストの変数にアクセスする必要があるマクロをインポートする場合、2つの方法があり
ます。•明示的に渡す着信要求または要求オブジェクトの属性がマクロのパラメーターとして使用されます

コンテキストを使用たマクロのインポート(コンテキストあり)およびコンテキストを使用したインポート(コンテキストあり)

@app.route("/macro/")
def macro():
    return render_template("macro.html")

カスタマイズされた「マクロ」入力タグは、要件を完了するためにパラメーターを渡すことによって一度だけ書き込まれ、入力タグをすばやく作成しました

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {% macro input(name,value='', type='text') %}
        <input type="{{ type }}", name="{{ name }}", value="{{ value }}">
    {% endmacro %}

     <table>
         <tr>
             <td>用户名:</td>
             <td>{{ input('username') }}</td>
         </tr>
          <tr>
             <td>密码:</td>
             <td>{{ input('password',type='password') }}</td>
         </tr>
          <tr>
             <td>密码:</td>
             <td>{{ input(value='提交',type='submit')}}</td>
         </tr>
     </table>
</body>
</html>

インポート…
インポートマクロとして
ここに画像の説明を挿入
2つのインポート方法:
ここに画像の説明を挿入
テンプレートへのコンテキストパスパラメータ
ここに画像の説明を挿入

公開された118元の記事 ウォンの賞賛0 ビュー2662

おすすめ

転載: blog.csdn.net/weixin_45905671/article/details/105463553