手机版 欢迎访问it开发者社区(www.mfbz.cn)网站

当前位置: > 开发

Django(13)-静态文件

时间:2021/6/4 0:00:28|来源:|点击: 次

1、静态文件

  • 静态文件包括图片,css,js,视频,音频等等文件
  • 在setting.py中配置静态文件配置
    • STATIC_URL:’/static/’
    • 含义:指定访问静态文件时通过/static/xxx,此类请求不需要走视图函数,而是直接去静态文件目录下去静态文件
    • STATICFILES_DIRS:保存的是静态文件在服务器端的存储位置
    STATICFILES_DIRS=(
    				BASE_DIR / static
    )
    

如下图所示,此处需要在配置文件中手工增加配置
在这里插入图片描述
实例:
设计路由如下:
在这里插入图片描述
视图函数如下:

from django.shortcuts import render

def test_image(request):
    return render(request,"test_html.html")

然后在templates目录下创建test_html.html文件,内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试url</title>
</head>
<img src="/static/image/django.jpg" width="800" height="400">
</html>

然后在/static/image/目录下放置一张图片
然后在浏览器打开 http://127.0.0.1:8080/test/image/,结果如下:
在这里插入图片描述

  • 还可以通过{% static %}标签方式访问静态文件
    • 需要先加载static:{% load static %}
    • 使用静态资源标签:{% static ‘静态资源路径’ %}
    • 如:
     <img src="{% static 'image/django.jpg' %">
    

实例:
设计如下路由:
在这里插入图片描述
视图函数如下:

from django.shortcuts import render

def test_image(request):
    return render(request,"test_html.html")

在templates目录下创建test_html.html文件,内容如下:,这里就使用了django风格的load static方式的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试url</title>
</head>
{% load static %}
<img src="{% static 'image/django.jpg' %}" width="800" height="400">
</html>

在static/image/目录下存放一张照片
然后在浏览器打开:http://127.0.0.1:8080/test/image/,结果如下:
在这里插入图片描述

  • 请求静态资源上面提供了三种方式,即绝对路径、相对路径、django风格标签加载的方式,这里推荐使用django风格load static方式,这种方式可以解决当static目录需要发生变更的时候,能最少的修改代,相对来说更加灵活

Copyright © 2002-2019 某某自媒体运营 版权所有