zoukankan      html  css  js  c++  java
  • Django2.x

    静态文件

    • 什么是静态文件: 如: 图片、css、js等都是静态文件

    • 静态文件配置 - setting.py 文件中

    • 1、配置静态文件的访问路径【该配置默认存在】

      • 通过哪个URL地址找到静态文件
      • STATIC_URL: '/static/'
      • 说明:
    • 2、配置静态文件的存储路径 STATICFILES_DIRS

      • STATICFILES_DIRS: 保存的静态文件在服务器端的存储位置
      • 配置文件: setting.py
        • STATICFILES_DIRS = (os.path.joun(BASE_DIR, 'static'), )
    • 3、模板中访问静态文件 - img标签为例

      • 通过 {% static %} 标签访问静态文件
      • 1、加载 static - {% load static %}
      • 2、诗经静态资源 - {% static '静态资源路径' %}
      • 3、样例:
        • <img src="{% static 'images/img.png' %}">
    • **注意: **浏览器上访问静态资源时,无论项目的资源文件夹是如何命名,在浏览器上,静态资源的上级目录必须是 static,而 static 是 setting.py 文件中配置 STATIC_URL 的属性值。因为STATIC_URL 也是静态资源的起始URL;

    • 项目目录下修改的文件:

      • MyDjango
        • MyDjango
          • setting.py
          • urls.py
          • views.py
        • public_static
          • image
            • public_img.png
        • public_templates
          • test_static.html
    # setting.py
    
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [
                os.path.join(BASE_DIR, 'public_templates'),
            ],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    
    # 配置静态资源的起始URL
    STATIC_URL = '/static/'
    STATICFILES_DIRS = [
        # 设置根目录的静态资源文件夹 public_static
        os.path.join(BASE_DIR, 'public_static'),
    ]
    
    # 项目 utls.py
    from django.contrib import admin    # 导入admin功能模块
    from django.urls import path, include   # 导入URL编写模块
    
    from . import views
    
    # 整个项目的URL集合,每个元素代表一条URL信息
    urlpatterns = [
        # 设定admin的URL。'admin/' 代表127.0.0.1:8000/admin 地址信息,admin后面的斜杠是路径分隔符;
        # admin.site.urls 是URL的处理函数,也成为了视图函数
        path('admin/', admin.site.urls),
        path('test_static', views.test_static),
    ]
    
    # 项目 views.py
    from django.shortcuts import render
    
    # Create your views here.
    def test_static(request):
    	return render(request, 'test_static.html')
    	
    # 项目根目录 template/test_static.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>测试静态文件</title>
    </head>
    <body>
    	<img src="http://127.0.0.1:8000/static/image/public_img.png" width="200px" height="200px">
    	<img src="/static/image/public_img.png" width="200px" height="200px">
    	
    	{% load static %}
    	<img src="{% static 'image/public_img.png' %}" width="200px" height="200px">
    </body>
    </html>
    
  • 相关阅读:
    Spread for Windows Forms快速入门(2)设置Spread表单
    Spread for Windows Forms快速入门(3)行列操作
    Html5 Canvas 扫雷 (IE9测试通过)
    Web页面中5种超酷的Hover效果
    文字处理控件功能比较:TX Text Control vs. RichTextBox
    Spread for Windows Forms快速入门(7)单元格的交互操作
    Spread for Windows Forms快速入门(6)定义单元格的外观
    Html5 Rocks 镜像
    如何在ASP.NET中生成HTML5离线Web应用
    Spread for Windows Forms快速入门(5)常用的单元格类型(下)
  • 原文地址:https://www.cnblogs.com/gxfaxe/p/15017424.html
Copyright © 2011-2022 走看看