一直在優化自己博客的代碼, 昨天把css樣式表分離出來, 用作靜態
文件, 但是自己還沒學django怎么使用靜態文件, 經過一番google
終於解決了。
django 使用靜態文件有兩種方法, 一種就是部署在django上, 另外一種
是部署在apache 上, 前一種方法有一定的缺陷, 效率不高, 而且會造
成一定的安全威脅, 具體我也不知道, 大家可以看官方文檔, 但是還是
向大家介紹一下。
- 可以在你的項目下建一個static目錄, 在settings.py 中添加:
#填寫你靜態文件的絕對路徑
STATIC_PATH = '/your project path/static/'
- 打開url.py : import settings
然后在urlpatterns中加入:
(r'^static/(?P<path>.*)$','django.views.static.serve',
{'document_root':settings.STATIC_PATH})
- 最后修改template, 在需要靜態文件的地方, 把代碼修改為:
不過我覺得第二種方法更簡單, 網上很多資料都不是很清楚, 我自己琢磨出
來的:
- 配置一下mod_wsgi 里的文件, 也就是你以前配置的腳本:
如果是ubuntu, 那應該是http.conf 文件, 而fedora的話, 是wsgi.conf文件
只要按照葫蘆畫瓢就可以, 就像是添加django管理界面的靜態文件那樣, 加上
Alias /static/ /usr/www/your project/static
<Directory "/static/">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>
代碼的意思是, 你在你項目的目錄下建一個static目錄, 然后將你的靜態文件
放在里面。
最后修改一下要加載靜態文件的地方, 如ccs 樣式表:
<link rel="stylesheet" type="text/css" href="/static/your css file" />