zoukankan      html  css  js  c++  java
  • django静态文件说明

    一、static文件settings.py有以下配置

    1.STATIC_URL:映射本地静态文件地址 (可通过浏览器访问静态文件)

    STATIC_URL = '/static/'   #相对路径   相当于本地地址的STATIC_ROOT

    2.STATICFILES_DIRS:STATICFILES_DIRS就是告诉django,首先到STATICFILES_DIRS里面寻找静态文件,其次再到各个app下的static文件夹里面找(注意:django查找静态文件实际上是惰性查找,找到第一个就停止查找了)

    STATICFILES_DIRS = [

          os.path.join(BASE_DIR,'static'),

          os.path.join(BASE_DIR,'media'),

    ]

    设置了STATICFILES_DIRS后,可在templates模板中使用static标签来加载静态文件,要使用static标签,就必须先要在html最上面加入{% load static %}

     *如果项目中用到了富文本或存储其他媒体文件,执行python manage.py collectstatic 会将富文本或其他媒体文件下载到STATIC_ROOT指定的路径中。(注意:下载之后注释掉STATIC_ROOT,否则再次运行项目是会报错。)

    注意:STATIC_ROOT 配置部署的时候才用

    STATIC_ROOT:部署所有静态文件聚合的目录

    STATIC_ROOT = os.path.join(BASE_DIR,'static')    #是一个绝对路径,如D:项目路径下static    Django会把所有的static文件(如一些静态文件css、js、背景图片等)都复制到STATIC_ROOT文件夹(static)下

    二、media的配置

    1.MEDIA_ROOT = os.path.join(BASE_DIR,'media')  #绝对路径   用于指定上传文件的存储路径

    2.MEDIA_URL = '/media/'    #相当路径 指定url路径  映射到MEDIR_ROOT存储路径

    3.在模板中使用MEDIA_URL时,要在settings.py的TEMPLATES下的context_processors添加django.core.comtext_processors.media

    4.设置路由urls.py

     

    三、static和media的区别

    参考博客:https://www.cnblogs.com/dreamkeeper/p/7749439.html

    • Static是静态文件,是不变的,形成网站的核心部件,主要存的是CSS,JavaScript,网站logo等不变的文件;
    • Media是变动的,由用户定义的文件,主要用来保存用户上传的文件,例如图片、视频等。    # models.ImageField(upload_to='' ")  你上传图片或视频保存的地址   
      MEDIA_ROOT = os.path.join(BASE_DIR,'static/images')  是   models.ImageField(upload_to='' ")  上传图片或视频保存的地址 

       在template html文件中读取MEDIA_ROOT路径下的静态文件,通过对象*.url来访问,例如:

      <a href=""><img src="{{ banner.image.url }}"></a>

          注意:如果保存在MEDIA_ROOT路径下的图片无法显示,则需在根urls.py配置处理静态文件:

        

    from django.views.static import serve
    
    from ttsx3.settings import MEDIA_ROOT
    
    urlpatterns = [
        url('admin/', admin.site.urls),
        。。。
        。。。    
        url(r'media/(?P<path>.*)', serve, {"document_root": MEDIA_ROOT}),
    ]
  • 相关阅读:
    Java 二维数组
    JAVA——运算符
    JAVA——类与对象
    Eclipse无法自动编译出class文件 转
    引导入单用户模式
    安装sql server遇到问题解决方法
    数据结构和算法分析学习
    开源软件
    POP3、SMTP、IMAP和Exchange都是个什么玩意?
    邮件相关名词 MUA, MTA
  • 原文地址:https://www.cnblogs.com/c-pyday/p/11265424.html
Copyright © 2011-2022 走看看