详解Django模版中加载静态文件配置方法

yipeiwu_com6年前Python基础

1、settings.INSTALLED_APPS下添加:django.contrib.staticfiles

2、settings.py下添加:STATIC_URL = '/static/'

3、

(1)在APP下新建文件夹static,然后在这个static文件夹下创建一个当前APP的名字的文件夹,再把静态文件放到这个文件夹下:(类似于Templates配置)

在模板中这样调用:

{% load static %}
<img src="{% static 'front/logo.jpg' %}">

(2)在项目下新建文件夹static,再新建和APP同名的文件夹,把该APP用到的静态文件,全放在这里面

如果有一些静态文件是不和任何APP挂钩的。那么可以在settings.py中添加STATICFILES_DIRS,以后DTL就会在这个列表的路径中查找静态文件。比如可以设置为:(类似于Templates配置)

STATICFILES_DIRS = [
  os.path.join(BASE_DIR,"static")
]

在模板中这样调用:

{% load static %}
<link rel="stylesheet" href="{% static 'index.css' %}" rel="external nofollow" rel="external nofollow" rel="external nofollow" >

4、如果不想每次在模版中加载静态文件时都使用{% load static %},那么就把static标签变成Django内置标签:

(1)在settings.py中的TEMPLATES/OPTIONS下添加'builtins':['django.templatetags.static']

(2)在模板中就可以直接使用static标签

  <img src="{% static 'front/logo.jpg' %}">
  <link rel="stylesheet" href="{% static 'index.css' %}" rel="external nofollow" rel="external nofollow" rel="external nofollow" >

上面是详解,下面是我喜欢用的配置方式:

1、settings.INSTALLED_APPS下添加:django.contrib.staticfiles

2、settings.py下添加:STATIC_URL = '/static/'

3、settings.py下添加:(此处有的不是用[],而是小括号(),但是会报加载不进来错误)

STATICFILES_DIRS = [
  os.path.join(BASE_DIR,"static")
]

4、在项目下新建文件夹static,再新建和APP同名的文件夹,把该APP用到的静态文件,全放在这里面

5、在settings.py中的TEMPLATES/OPTIONS下添加'builtins':['django.templatetags.static']

6、在模板中使用静态文件

 <img src="{% static 'front/logo.jpg' %}">
  <link rel="stylesheet" href="{% static 'index.css' %}" rel="external nofollow" rel="external nofollow" rel="external nofollow" >

总结

以上所述是小编给大家介绍的详解Django模版中加载静态文件配置方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

解决Pytorch 加载训练好的模型 遇到的error问题

解决Pytorch 加载训练好的模型 遇到的error问题

这是一个非常愚蠢的错误 debug的时候要好好看error信息 提醒自己切记好好对待error!切记!切记! -----------------------分割线------------...

Python线程同步的实现代码

本文介绍Python中的线程同步对象,主要涉及 thread 和 threading 模块。 threading 模块提供的线程同步原语包括:Lock、RLock、Condition、...

详解Python中for循环的使用方法

详解Python中for循环的使用方法

 for循环在Python中有遍历所有序列的项目,如列表或一个字符串。 语法: for循环语法如下: for iterating_var in sequence: st...

python使用__slots__让你的代码更加节省内存

python使用__slots__让你的代码更加节省内存

前言 在默认情况下,Python的新类和旧类的实例都有一个字典来存储属性值。这对于那些没有实例属性的对象来说太浪费空间了,当需要创建大量实例的时候,这个问题变得尤为突出。 因此这种默认的...

Python基于sklearn库的分类算法简单应用示例

本文实例讲述了Python基于sklearn库的分类算法简单应用。分享给大家供大家参考,具体如下: scikit-learn已经包含在Anaconda中。也可以在官方下载源码包进行安装。...