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

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



引言

本方法适用于linux+python2.7+django1.2,使用django自带的web服务。css

一样也适用于sina app engine。html

 

一、准备工做

准备css文件,准备js文件,准备image文件。python

在网站根目录新建目录【medias】,在【medias】目录新建目录【styles】,用来存放css文件。linux

 

二、配置对于静态文件访问的路径

2.一、在settings.py文件中添加静态文件的目录

假设mysite是网站的根目录,medias是刚才咱们新建的目录web

 

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.二、在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,在设置了上面的选项以后,应该能够经过该地址浏览文件夹及文件。django

 

三、使用静态文件

3.一、在template文件中引用css文件

在base.html文件的head标记中添加下面的css引用。浏览器

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

3.二、在普通html文件中引用css文件

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

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

 

总结

完成上面的工做以后,css就应该开始起做用了。对于图片和js的引用也是相似的作法。app

django的官网有两个连接讲到了相关的内容,详细状况你们能够点击查看。python2.7

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

相关文章
相关标签/搜索