zoukankan      html  css  js  c++  java
  • django静态文件配置

    开发环境配置

    需要下面几个步骤

    1. 在app目录下创建static目录,将静态文件和相关文件夹放到此目录下,如your_app/static/img等

    2. 确保settings.py中的INSTALLED_APPS中包含django.contrib.staticfiles

    3. 设置settings.py中的STATIC_URL的值为“/static/”

    4. 在模版中使用{{ STATIC_URL }}作为静态文件路径前缀。比如纯在图片文件your_app/static/img/logo.png,那么应用代码为<img src=”{{ STATIC_URL }}img/logo.png”>

    5. 渲染模版的Context对象需要换成RequestContext,否则模版中无法引用到STATIC_URL对应的值。

    上面的操作步骤参见官方文档:https://docs.djangoproject.com/en/dev/howto/static-files/

    特别注意:按照上述设置,settings.py中的DEBUG选项必须设置为True,否则'/static/'无法映射到静态文件目录。参见这里:http://stackoverflow.com/a/4566907/1114397

    生产环境配置

    我的发布环境是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版本,然后做出响应配置。

  • 相关阅读:
    P5362 [SDOI2019]连续子序列 思维题
    P5360 [SDOI2019]世界地图 虚树+最小生成树
    P4565 [CTSC2018]暴力写挂 边分治+虚树
    BZOJ2870. 最长道路tree 并查集/边分治
    P4103 [HEOI2014]大工程 虚树
    P4220 [WC2018]通道 虚树+边分治
    P3261 [JLOI2015]城池攻占 可并堆
    积水问题
    23. 合并K个排序链表
    21. 合并两个有序链表
  • 原文地址:https://www.cnblogs.com/outofthink/p/4330294.html
Copyright © 2011-2022 走看看