文档章节

使用Django来处理对于静态文件的请求

KavenSu
 KavenSu
发布于 2014/06/04 14:25
字数 703
阅读 59
收藏 0

使用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是刚才我们新建的目录

 

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文件中添加如下路由规则

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引用。

<link href="/site_medias/styles/site.css" rel="stylesheet" type="text/css">

3.2、在普通html文件中引用css文件

也是直接在html文件的head标记中添加下面的内容。

<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来处理静态文件,一些处理的细节,包括配置啊、引用啊什么呢的。


© 著作权归作者所有

共有 人打赏支持
KavenSu
粉丝 6
博文 66
码字总数 16605
作品 0
深圳
Django对静态文件的处理——开发阶段

上一篇说完了 Django 为部署阶段所提供的静态文件处理工具,这篇接着说开发阶段。 开发阶段 在 Django 看来,静态文件的处理应该交由另外的程序来处理。但为了方便快速开发,Django 也提供了...

我的去哈哈
2014/02/12
0
0
使用uwsgi和nginx部署django应用

概述 文章是uwsgi关于django部署的学习笔记,过程中涉及: 浏览器 nginx服务器 linux socket uwsgi服务 django应用 最终各个组件之间的关系是 当浏览器访问web页面时,如果请求的是静态文件,...

alazyer
2016/03/02
80
0
Django1.11+Uwsgi+Nginx的生产环境部署

思路:使用runserver可以使我们的django项目很便捷的在本地运行起来,但是这只能在局域网内访问。正式环境部署的话比较安全,而且静态文件的处理方式会比较友好。nginx作为服务器的最前端,负...

M玺
05/10
0
0
Django + Uwagi + Nginx部署,亲自实验

Django + Uwsgi + Nginx 的生产环境部署 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态...

静水大智
2017/10/28
0
0
django 中式用静态文件(css,javascript)

Django模板中使用css, javascript测试环境 (r'^css/(?P.)$', 'django.views.static.serve', {'document_root': '/var/www/django-demo/css'}), (r'^js/(?P.)$', 'django.views.static.serve......

晨曦之光
2012/03/01
945
0

没有更多内容

加载失败,请刷新页面

加载更多

【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
1
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
10
0
vm GC 日志 配置及查看

-XX:+PrintGCDetails 打印 gc 日志 -XX:+PrintTenuringDistribution 监控晋升分布 -XX:+PrintGCTimeStamps 包含时间戳 -XX:+printGCDateStamps 包含时间 -Xloggc:<filename> 可以将数据保存为......

Canaan_
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部