博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python+Flask.0009.FLASK静态资源之默认及自定义资源目录
阅读量:6801 次
发布时间:2019-06-26

本文共 1017 字,大约阅读时间需要 3 分钟。

hot3.png

默认位置:

说明: WEB应用大多会提供基于CDN的静态文件服务以便给用户更好的体验,静态文件主要包括CSS/JS/图片/字体等,FLASK默认只需要在项目根目录下创建"static"的目录,项目中使用基于/static开头的路径就可以访问,但是为了更好的处理能力,推荐使用Nginx或是其它的WEB服务器管理静态文件

 

推荐方案:

1. 不要在项目中直接写死静态文件路径,应该使用url_for生成路径,当然如果我们想指定路径也可以在创建app实例时指定static_folder参数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#!/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')

.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路径

 

 

登录乐搏学院官网

或关注我们的官方微博,还有更多惊喜哦~

转载于:https://my.oschina.net/learnbo/blog/863216

你可能感兴趣的文章
李开复:人工智能对人类真正的威胁是什么?
查看>>
CentOS 6.*/7 防火墙放行端口
查看>>
docker pipework 实现跨宿主主机容器互联
查看>>
Hutool之正则表达式工具类——ReUtil
查看>>
execute、executeQuery和executeUpdate之间的区别
查看>>
Windows及Apache Struts2 高危漏洞安全公告及解决方案
查看>>
企业网站建设,手机网站建设,专业的网站建设,网站建网站建设企业,网页建设与制作...
查看>>
您如何创建AWS图表?
查看>>
iOS多线程编程
查看>>
HTTP参数中Etag的重要性
查看>>
T-MBA·沟通·倾听·V1 | 7天学习倾听,6月14日开营,包学会!
查看>>
java架构程序员月入破3万到底是怎么炼成的,一篇文章让你了解
查看>>
mongoDB JAVA操作
查看>>
python基础进阶
查看>>
高级GLSL
查看>>
【27】非阻塞算法
查看>>
cacti 安装
查看>>
云计算(PAAS)领域开始火爆的 Docker 到底是什么?
查看>>
PXE网络装机(有人值守与无人值守)
查看>>
python 爬虫 cookie 的保存和加载
查看>>