使用Django来处理对于静态文件的请求
引言
本方法适用于linux+python2.7+django1.2,使用django自带的web服务。
同样也适用于sina app engine。
1、准备工作
准备css文件,准备js文件,准备image文件。
在网站根目录新建目录【medias】,在【medias】目录新建目录【styles】,用来存放css文件。
2、配置对于静态文件访问的路径
2.1、在settings.py文件中添加静态文件的目录
假设mysite是网站的根目录,medias是刚才我们新建的目录
1
2
3
4
5
6
7
|
STATICFILES_DIRS = ( # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. 'mysite/medias' ) |
2.2、在urls.py文件中添加如下路由规则
1
2
3
4
5
6
7
|
urlpatterns=patterns( '' , (r '^site_medias/(?P<path>.*)$' , 'django.views.static.serve' , { 'document_root' :mysite.settings.STATICFILES_DIRS, 'show_indexes' : True}), ) |
将对于site_medias目录及其子目录的文件的请求,映射到settings.py文件设置的STATICFILES_DIRS中指定的路径。并且使用了show_indexes参数,参数设置为True之后,表明可以通过浏览器,浏览medias目录的资源,包括浏览文件夹及其文件。浏览地址是http://localhost:8080/site_medias/,假设服务使用端口是8080,在设置了上面的选项之后,应该可以通过该地址浏览文件夹及文件。
3、使用静态文件
3.1、在template文件中引用css文件
在base.html文件的head标记中添加下面的css引用。
1
|
<link href= "/site_medias/styles/site.css" rel= "stylesheet" type= "text/css" > |
3.2、在普通html文件中引用css文件
也是直接在html文件的head标记中添加下面的内容。
1
|
<link href= "/site_medias/styles/site.css" rel= "stylesheet" type= "text/css" > |
总结
完成上面的工作之后,css就应该开始起作用了。对于图片和js的引用也是类似的做法。
在django的官网有两个链接讲到了相关的内容,详细情况大家可以点击查看。
https://docs.djangoproject.com/en/1.2/howto/static-files/
上面这个链接的主题是:How to serve static files,也就是如何使用静态文件(包括css,js脚本,图片等等)。里面讲到了,可以使用上面的办法使用静态文件,但是django主要是用来处理动态文件的,上面的办法不高效,并且不安全,所以是不推荐的。在开发环境用一下还可以,但是生产环境,推荐使用专业的web服务来提供静态文件的处理。专业的web服务包括:appache、lighttpd、cherokee等等。结合这些专业web服务的用户,在文章中也有链接。
https://docs.djangoproject.com/en/dev/howto/static-files/
上面的链接就是将如何使用django来处理静态文件,一些处理的细节,包括配置啊、引用啊什么呢的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2013-02-26 ubuntu9.10安装android SDK
2013-02-26 ubuntu安装Java开发环境
2013-02-26 ubuntu开启ssh服务
2013-02-26 VirtualBox虚拟机网络设置(转)
2013-02-26 安装Ubuntu 8.04 Server
2013-02-26 Ubuntu各个版本的介绍
2011-02-26 ASP_NET下FCKeditor配置方法全解