接着 模板结构优化 往下讲
-
确保
mysite/setting.py
中INSTALLED_APPS
已经安装了django.contrib.staticfiles
-
确保
mysite/setting.py
中设置了STATIC_URL
-
在已经安装的
app
下创建static
文件夹,并将该应用的静态资源存放在里面 :front/static/suolong.jpg
templates/index.html
{% block content %} <img src="/static/suolong.jpg" alt="suolong"> {% endblock %}
-
mysite/setting.py
中STATIC_URL
值是可变的,这样以后引用静态资源的路径都要根据STATIC_URL
是新值去修改,因此我们需要使用{% load static %}
templates/index.html
{% extends 'base.html' %} {% load static %} {% block content %} <img src="{% static 'suolong.jpg' %}" alt="suolong"> {% endblock %}
-
公共资源路径
在更目录下创建
static
文件夹static/style.css
body { background-color: #abcdef; }
mysite/setting.py
STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), )
mysite/base.html
{% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="{% static 'style.css' %}"> </head>
-
在每个需要加载静态资源文件的模板中都要写
{% load static %}
, 为了不在每个模板中都写,我们可以吧static
变为DTL
模板标签mysite/setting.py
TEMPLATES = [ { 'OPTIONS': { 'builtins': [ 'django.templatetags.static' ] }, }, ]
这样就不用在每个页面中引入
{% load static %}
网友评论