开发环境配置apache
须要下面几个步骤django
1. 在app目录下建立static目录,将静态文件和相关文件夹放到此目录下,如your_app/static/img等服务器
2. 确保settings.py中的INSTALLED_APPS中包含django.contrib.staticfilesapp
3. 设置settings.py中的STATIC_URL的值为“/static/”ui
4. 在模版中使用{{ STATIC_URL }}做为静态文件路径前缀。好比纯在图片文件your_app/static/img/logo.png,那么应用代码为<img src=”{{ STATIC_URL }}img/logo.png”>日志
5. 渲染模版的Context对象须要换成RequestContext,不然模版中没法引用到STATIC_URL对应的值。server
上面的操做步骤参见官方文档:https://docs.djangoproject.com/en/dev/howto/static-files/对象
特别注意:按照上述设置,settings.py中的DEBUG选项必须设置为True,不然'/static/'没法映射到静态文件目录。参见这里:http://stackoverflow.com/a/4566907/1114397图片
生产环境配置ip
个人发布环境是apache,这里只介绍相关配置。
使用apache的静态发布配置,而不使用django的配置,这也是django推荐的方式,由于django认为静态文件配置的方法交给服务器,会更有效。你所须要作的就是在apahce的配置文件中添加一个alice,以下
Alias /static "/your_wsgi/your_app/static"
# 注意结尾都没有斜杠,全路径也没有。
# 若是alias后面的值有反斜杠结尾,那么全路径也须要有,保持一致
“/static”对应django settings.py中配置的STATIC_URL的值。而后添加directory选项,配置相关目录的权限。Apache 2.4版本开始,对directory配置作出了调整,因此这里须要注意,以下:
Apache v2.4及以上版本,
<Directory "/your_wsgi/your_app/static ">
Require all granted
< /Directory>
Apache v2.4如下版本
<Directory "/your_wsgi/your_app/static ">
Options Indexes FollowSymLinks
Order allow,deny
Allow from alli
< /Directory>
注意上面红色部分。
Tips:若是访问静态图片遇到403错误,此时说明路径配置成功,离成功不远了。只是路径权限没有配置正确,这时能够看看apahce错误日志,若是出现“client denied by server configuration”,说明是directory的权限没有配置正确,能够查看本身的apache版本,而后作出响应配置。