疯狂情歌,封神太子无敌版,600540资金流向
目录
静态文件在web开发中是肯定经常要用到的,所以要把静态文件弄懂弄清楚,一次搞懂了就不用以后在各种框架中提到静态文件,就要重新学习一次,毕竟静态文件都是相同的特性,没什么大的变化,就用一个模式思想去套框架对应的设置就行了。
同时,将静态文件访问处理从复杂视图逻辑中剥离出来,也是一种解耦,复杂视图只需要知道静态文件的访问地址就可以了,不需要将复杂视图响应中加上静态文件的内容返回给用户,而只需要给用户返回一个静态文件的url即可,用户端再发起一次静态文件请求就可以了,而处理静态文件请求的模式就简单多了,各种web server天生就能处理静态文件和页面。
特别是开发时,使用如django框架开发(脚手架)环境处理静态文件访问和生产环境对静态文件的访问处理是不同的,django开发环境由于不是web server 所以将静态文件的处理也放入了简单视图逻辑中。这也是为什么django项目到开发环境需要做一些部署步骤,具体下面会说怎么操作。
开发中经常说道的静态文件就是:图片,javascript,css, 提供下载的二进制程序等,这些静态文件的访问很简单,就是把文件传送给请求方即可,所以静态文件的访问请求,不需要后端逻辑处理,只需要将文件内容放入响应体中,由web server提供响应头等其它部分。
通常在web server 将静态文件放入 web server 的文档document root 目录下就行。根据web server 配置中设置的路径前缀与实际document path结合,就可以通过url获取到静态文件了。
这种部署静态文件,是纯粹的单单部署静态文件,没有和动态页面结合起来。
因为动态页面的视图代码中要使用到静态文件的访问的url,还有就是如django框架,每个app目录下创建了属于app的静态文件存放目录。所以代码中怎么填写正确的url和将框架中的静态文件处理得统一组织,利于部署,就是框架需要解决的问题。以django处理为例。
主要还是在django的模版中使用,怎么使用?
首先要分解url这组成部分:如: 分为:
第一部分""
第二部分"school_courses/images/001.jpg"
小结:
开发环境和 web server 环境, 关联就是 static_url, static_root。模版中最好使用static tag灵活点。
而 staticfiles_finders 是和开发环境有关;staticfiles_dirs 和 collectstatic命令有关;staticfiles_storage就更高级了查看官网吧,很少用到。
django中查找静态文件得利用‘django.contrib.staticfiles' 这个内置app,必须注册到配置文件installed_apps列表中。因为该app提供了查找文件的finder api。finder 查找静态文件的逻辑是封装了的。
就是 根据 static_root 路径,将所有app中static目录和 staticfiles_dirs中路径的静态文件部署到 static_root指定的路径中。
对于每个app的static,django提倡 app namespace,避免统一组织时的同名静态文件冲突。所谓app namespace,就是在static下再创建一个与app名称相同的文件夹,将静态文件都放入这个子文件夹中。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python 实现将numpy中的nan和inf,nan替换成对应的均值
python爬虫把url链接编码成gbk2312格式过程解析
网友评论