python3+flask 开发web(五)

1、flask中静态文件的调用

flask中默认将一些静态文件如图片/css文件等放入static文件夹下,而我们可以在html文档中对其进行访问.

flask模板中的url_for()函数,该函数在html文档中调用,以视图函数为参数,返回该视图函数对应的url

1)在项目目录下新建一个static文件夹,里面放一张荷花的图片:

python3+flask 开发web(五)

2)在templates目录下新建test.html,内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>荷花图片</title>
</head>
<body>
<img src="{{ url_for('static', filename='static/flower.png') }} " width="400" height="400" alt="" title=""/>
</body>
</html>

3)python代码如下:

from flask import Flask
from flask import render_template

app = Flask(__name__, static_folder='', static_url_path='')  #static_folder和static_url_path设置为空可以在flask的根目录下返回静态HTML模板

@app.route('/')
def test():
    return render_template('test.html')

if __name__=='__main__':
    app.run()

4)执行后,打开http://127.0.0.1:5000

python3+flask 开发web(五)

加载静态文件
语法:

‘url_for(‘static’, filename=’路径’)’

静态文件,flask会从’static’文件夹中开始寻找,不需要再写’static’这个路径。 
加载css语法:

<link rel="stylesheet" href="{{ url_for('static',filename='css/index.css') }}">

加载js语法:

<script src="{{ url_for('static',filename='js/index.js') }}"></script>

加载图片的语法:

<img src="{{ url_for('static',filename='images/aaa.jpg') }}" alt="">

2、 flask中本地化时间的引用

1)在templates文件夹下新建test14.html,内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>本地化时间引用</title>
    {{moment.include_jquery()}}
    {{moment.include_moment()}}
    {{moment.lang("zh-CN")}}
</head>
<body>
{{moment().format('YYYY-MM-DD,h:mm:ss a')}}
</body>
</html>
html中我们需要先引入moment.js和jquery.js两个js库,因为Flask_Mement需要依赖这两个库,我们在html文件中的head标签中进行引用
说明:
{{moment.include_jquery()}}和 {{moment.include_moment()}}分别是对moment.js和jquery.js两个js库的引用, {{moment.lang("zh-CN")}}是设置本地的语言环境为中文.      {{moment().format('YYYY-MM-DD,h:mm:ss a')}}是将moment进行格式化输出.

2)python代码如下:
from flask import Flask,render_template

from flask_moment import Moment

app=Flask(__name__)
Moment(app)


@app.route('/')
def test():
    return render_template('test14.html')


if __name__=='__main__':
    app.run()

 导入flask_moment之前需要先安装flask_moment

 

3)执行后:

python3+flask 开发web(五)

常用的格式化参数:

python3+flask 开发web(五)