apache上部署django的静态文件
一直在优化自己博客的代码, 昨天把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" />