cherrypy.lib.静态模块¶
提供静态文件帮助程序的模块。
- cherrypy.lib.static._make_content_disposition(disposition, file_name)[源代码]¶
创建用于下载具有UTF-8文件名的文件的HTTP标头。
此函数实现以下建议 RFC 6266#appendix-D 。请查看以下内容和相关答案:https://stackoverflow.com/a/8996249/2173868.
- cherrypy.lib.static._serve_fileobj(fileobj, content_type, content_length, debug=False)[源代码]¶
内部的。将response.body设置为给定的文件对象,可能是Range。
- cherrypy.lib.static.serve_file(path, content_type=None, disposition=None, name=None, debug=False)[源代码]¶
设置状态、标题和正文,以便为给定的路径提供服务。
如果提供,Content-Type头将设置为Content_-Type参数。如果没有提供,内容类型将由'path'参数的文件扩展名猜测。
如果disposition不是None,则Content disposition头将设置为“<disposition>;filename=<name>;filename*=utf-8”“<name>”,如中所述 RFC 6266#appendix-D . 如果name为None,它将被设置为path的basename。如果disposition为None,则不会写入Content disposition头。
- cherrypy.lib.static.serve_fileobj(fileobj, content_type=None, disposition=None, name=None, debug=False)[源代码]¶
设置状态、标题和正文,以便为给定的文件对象提供服务。
如果提供,Content-Type头将设置为Content_-Type参数。
如果disposition不是None,则Content disposition头将设置为“<disposition>;filename=<name>;filename*=utf-8”“<name>”,如中所述 RFC 6266#appendix-D . 如果name为None,则不会设置“filename”。如果disposition为None,则不会写入Content disposition头。
警告:如果请求包含“range”头,将对文件对象执行一个或多个seek()。如果找不到文件对象,这可能会导致不需要的行为。如果调用者在调用serve_fileobj()之前设置了文件对象的读取位置,并期望从该位置开始提供数据,那么它也可能产生不需要的结果。
- cherrypy.lib.static.staticdir(section, dir, root='', match='', content_types=None, index='', debug=False)[源代码]¶
从给定的(根+)目录为静态资源提供服务。
- 比赛
如果给定,则在尝试提供静态内容之前,将搜索request.path_info以查找给定的正则表达式。
- content_types
如果给定,它应该是一个包含文件扩展名:内容类型对的python字典,其中“文件扩展名”是一个字符串(例如“g if”),而“内容类型”是要在内容类型响应头中写出的值(例如“image/gif”)。
- 指数
如果提供,它应该是用于目录请求的文件的(相对)名称。例如,如果dir参数为'/home/me',请求URI为'myapp',索引参数为'index.html',将查找文件'/home/me/myapp/index.html'。