湿壁画的静态文件处理

fresco-static的Python项目详细描述


基本用法

首先你需要一个壁画应用程序。这是我之前做的一个:

app = FrescoApp()

假设这个应用程序的结构如下:

mypackage
├── __init__.rst
├── app.py
├── static
│   └── photo.jpg
└── setup.py

拥有应用程序后,您可以创建StaticFiles

的实例
static=StaticFiles(app)

staticfiles自动为路径/static添加路由。 静态文件将在^{tt3}下可用$ 例如/static/mypackage/photo.jpg。您可以更改这些默认值:

static=StaticFiles(app,prefix='/media',route_name='media',cache_max_age=3600)

可以有多个包通过一个静态文件提供文件 不要害怕冲突。

现在可以开始配置静态源目录:

# Mount directory '/www/mysite/htdocs'. The first argument is an arbitrary# name used to identify this source. You can use whatever string you like.static.add_directory('site-htdocs','/site/htdocs',cache_max_age=60)# Serve files located in a 'subdir' directory within the python package# 'mypackage'static.add_package('mypackage','subdir',cache_max_age=86400)

参数cache_max_age指定多长时间(秒) 浏览器和代理可以缓存响应。 为了发展你可能想把这个设为零, 但在生产中你应该 将此值设置为合理值,然后 配置缓存http代理服务器。 添加源目录时,可以忽略此参数,并且默认 (在创建StaticFiles对象时配置) 将改为使用。

static.pathfor为静态内容生成url。 你可能会想包括这个 在模板系统的默认命名空间中。你怎么做取决于 您已经集成了模板系统,但它通常是 像这样:

templating.contextprocessor({'static':static.pathfor})

在模板中调用此项以链接到静态文件,例如:

<!-- Reference a file from the "site-htdocs" source
--><imgsrc="{{ static('site-htdocs/photo.jpg') }}"alt="My photo"/><!-- Reference a file from the "mypackage" source
--><imgsrc="{{ static('mypackage/photo.jpg') }}"alt="My photo"/><!-- Path doesn't begin with a source name — all sources will be
     searched for a matching file
--><imgsrc="{{ static('cat-pictures/miaow.gif') }}"alt="My photo"/>

0.2(发布日期:2018-08-01)

  • 源名称不再需要是python标识符

0.1

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何向xsi:nil元素添加另一个属性?   Java抽象泛型方法,使用具体类型实现通配符   java使用pcap4j截断pcap文件   当我放置字母a、b和c时,java中的异常预期会下降   java设置活动对话框不可取消   接口类型变量上的Java克隆   使用Java或BouncyCastle对CSR(证书签名请求)进行安全解码/读取   java调用SavingsAccount对象上的函数并打印结果   java如何在Android应用程序上显示地图上的兴趣点(POI)并与之交互?   如果在JavaFX中的ResultSet中未找到任何内容,则显示java警报   java我将springboot和@component与@scheduled一起使用,它每12小时锁定一次   ApachePOI如何使用java删除包含字符串的word表的行   java如果对象(x,y)靠近其他对象(x,y)   从未对JMSException调用java JMS CachingConnectionFactory OneException方法   javascript使用java将HTML页面转换为MS word