使用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來處理靜態文件,一些處理的細節,包括配置啊、引用啊什麼呢的。

相關文章
相關標籤/搜索