关于aiohttp之添加静态资源路径方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了关于aiohttp之添加静态资源路径方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2913字,纯文字阅读大概需要5分钟。
内容图文
![关于aiohttp之添加静态资源路径方法](/upload/InfoBanner/zyjiaocheng/428/cf6892986a8741cc9bccc4b45df5e4b9.jpg)
以一个小项目来说明,下面是项目的目录结构:
. ├── static │ ├── css │ │ ├── base.css │ │ ├── bootstrap.min.css │ │ └── font-awesome.min.css │ ├── font │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ └── index.html └── proxy_server.py
在proxy_server.py
给2个静态文件目录static/css
和static/font
添加路由:
app.router.add_static('/css/', path='static/css', name='css') app.router.add_static('/font/', path='static/font', name='font')
先来看看add_static
方法的定义:
def add_static(self, prefix, path, *, name=None, expect_handler=None, chunk_size=256*1024, response_factory=StreamResponse, show_index=False, follow_symlinks=False): """Add static files view. prefix - url prefix path - folder with files """ # TODO: implement via PrefixedResource, not ResourceAdapter assert prefix.startswith('/') if prefix.endswith('/'): prefix = prefix[:-1] resource = StaticResource(prefix, path, name=name, expect_handler=expect_handler, chunk_size=chunk_size, response_factory=response_factory, show_index=show_index, follow_symlinks=follow_symlinks) self.register_resource(resource) return resource
必需的2个参数:prefix
:是静态文件的url
的前缀,以/
开始,在浏览器地址栏上显示在网站host之后,也用于index.html
静态页面进行引用path
:静态文件目录的路径,可以是相对路径,上面代码使用的static/css
就是相对路径——相对于proxy_server.py
所在路径。
下面是页面的效果:
加载的是index.html
,下面是它引用静态资源的代码:
<!-- Bootstrap CSS --> <link href="css/bootstrap.min.css" rel="stylesheet"> <!-- Base CSS --> <link href="css/base.css" rel="stylesheet"> <!-- FA CSS --> <link href="css/font-awesome.min.css" rel="stylesheet">
添加font
的路径是因为/font-awesome.min.css
需要使用:
在浏览器中打开css文件:
可以看到是url的前缀是/css/
。
如果修改前缀:
app.router.add_static('/css2017/', path='static/css', name='css')
页面变成了:
css文件也无法访问了:
修改index.html
中的css的引用路径:
<!-- Bootstrap CSS --> <link href="css2017/bootstrap.min.css" rel="stylesheet"> <!-- Base CSS --> <link href="css2017/base.css" rel="stylesheet"> <!-- FA CSS --> <link href="css2017/font-awesome.min.css" rel="stylesheet">
虽然目录本身还是css
,但通过add_static
已经将它视为了css2017
,页面回复正常了:
css文件也可以打开了:
url前缀变成了/css2017/
了。
此时直接打开index.html
文件就会显示为
因为static
目录下并没有css2017
这个文件夹。
至此就了解了add_static
的基本使用方法了,可以通过重新定义prefix
参数还可以隐藏服务器上真实的存放静态资源的目录,也可以将分散在各处的资源文件统一到同一个路径前缀下。
此外,如果加上show_index=True
,就可以显示静态资源的目录索引了——默认是禁止访问的:
app.router.add_static('/css2017/', path='static/css', name='css', show_index=True)
以上就是关于aiohttp之添加静态资源路径方法的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的关于aiohttp之添加静态资源路径方法全部内容,希望文章能够帮你解决关于aiohttp之添加静态资源路径方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。