Flask——宏定义在外部的使用
程序员文章站
2023-12-27 18:53:39
...
宏的定义与宏的使用放在同一个文件中会显得杂乱,可以将两者分开,一个html文件存放定义好的宏,一个文件调用编写好的宏,举个例子:
编写存放宏的html文件(取名definition.html,记得放在templates文件夹中):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% macro input_1(type="text", value="hello world", size=50) %}
<input type="{{type}}" value="{{value}}" size="{{size}}">
{% endmacro %}
{% macro input_2(type, value, size) %}
<input type="{{type}}" value="{{value}}" size="{{size}}">
{% endmacro %}
</body>
</html>
编写调用宏的html文件(取名call.html,记得放在templates文件夹中):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<hr/>
<h1>--------------调用宏(带默认值)--------------</h1>
<hr/>
{% import "definition.html" as func %}
{{ func.input_1() }}
<br>
<br>
<br>
<hr/>
<h1>--------------调用宏(不带默认值)--------------</h1>
<hr/>
{% import "definition.html" as func %}
{{ func.input_2("password", "zhangsan", 80) }}
</body>
</html>
编写渲染的Flask程序:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/hello")
def index():
return render_template("call.html")
if __name__ == '__main__':
app.run(debug = True, port = 8000)
以上就是Flask将宏的定义和宏的使用分开的使用方法,各位读者有疑问的可以私信博主或评论留下足迹。