• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

Django对于静态资源处理

处理机制:

django.contrib.staticfiles 是一个专门负责解析静态元素的应用,当设置为debug模式为True的时候是自动运行的,这个app需要在setttings文件中事先加载。如果没有配置,那么你也可以使用 django.contrib.staticfiles.views.serve()来实现。

 

第一部分:配置

 

步骤一:配置STATICFILES_DIRS

两种情况:

    1. 默认情况,静态文件放在app目录下的static目录中,这种情况不用进行特别配置。

 

    2. 静态文件与特定app无关或是多个app共用同一份静态文件,这种情况下将静态文件文件放在任意目录中,那么在settings.py文件中找到STATICFILES_DIRS部分,在其中添加放置静态文件的目录路径,在该部分的注释中说到,需要使用绝对路径,不要使用相对路径,并且无论在任何系统中都使用“/”作为路径分隔符。

 

步骤二:配置contrib.staticfiles

 

在settings.py文件中找到INSTALLED_APPS,确保其中包含有’django.contrib.staticfiles'

 

在template中使用静态文件:

两种使用方式:

    方法1: 使用context processor:

          采用这种方式需要有一些额外配置,打开settings.py,确认TEMPLATE_CONTEXT_PROCESSORS中包含有'django.core.context_processors.static’

 

STATIC_URL = '/static/‘ #在django 中django.contrib.staticfiles会判断是否STATIC_URL有定义,如果没有将默认读取应用目录下的static文件夹。

STATIC_ROOT = ''

 

 

TEMPLATE_CONTEXT_PROCESSORS = (

  'django.contrib.auth.context_processors.auth',

  'django.core.context_processors.i18n',

  'django.core.context_processors.request',

  'django.core.context_processors.static',

  'zinnia.context_processors.version',# Optional

)

 

  配置完成后,在模板中引用静态文件:,如下:

 

    <script src="{{ STATIC_URL }}bootstrap3/js/bootstrap.min.js"></script>

    {% block js %}

    {% endblock %}

Django对于静态资源处理

Pingbacks已打开。

引用地址

暂无评论

发表评论