默认位置:
说明: WEB应用大多会提供基于CDN的静态文件服务以便给用户更好的体验,静态文件主要包括CSS/JS/图片/字体等,FLASK默认只需要在项目根目录下创建"static"的目录,项目中使用基于/static开头的路径就可以访问,但是为了更好的处理能力,推荐使用Nginx或是其它的WEB服务器管理静态文件
推荐方案:
1. 不要在项目中直接写死静态文件路径,应该使用url_for生成路径,当然如果我们想指定路径也可以在创建app实例时指定static_folder参数
#!/usr/bin/env python # -*- coding: utf-8 -*- """ # # Authors: limanman # 51CTOBG: http://xmdevops.blog.51cto.com/ # Purpose: # """ # 说明: 导入公共模块 from flask import Flask, url_for, jsonify # 说明: 导入其它模块 app = Flask(__name__, static_folder=‘static‘) @app.route(‘/‘) def index(): return jsonify(url_for(‘static‘, filename=‘img/girl.jpg‘, _external=True)) if __name__ == ‘__main__‘: app.run(host=‘0.0.0.0‘, port=9000, debug=True)
注意: 如上通过创建app实例时指定的static_folder是相对于根目录(flask.helpers.get_root_path),支持任意指定静态文件目录,url_for()生成url时第一个参数static其实是app.url_map中默认的视图函数,所以可以直接传入,filename是static视图函数必须的参数,默认返回的是相对URL路径,如果在一些特殊场景下需要全URL路径(如注册确认邮件)可通过指定_external=True返回全URL路径
本文出自 “@Can Up and No BB...” 博客,请务必保留此出处http://xmdevops.blog.51cto.com/11144840/1866524
网站后端_Python+Flask.0009.FLASK静态资源之默认及自定义资源目录?
原文地址:http://xmdevops.blog.51cto.com/11144840/1866524