zoukankan      html  css  js  c++  java
  • Django Static与Media

    关于Django中Static和Media的设置问题(尤其是css和js静态文件加载的问题),网上有很多回答,但是发现有相当一部分回答并不能解决问题。有的可能是Django版本问题,有的是把media和static搞混了。下面是关于Django 1.9+ 中static与media的总结:

    区别:

    • Static是不变的,形成网站的核心部件,如 CSS文件,JS文件,背景图片等;
    • Media是变动的,由用户定义的文件,如 用户头像, 用户上传的图片或视频等。

    配置方法:##

    1.Static

    1. 在项目根目录新建static文件夹
    2. 在setting.py中设置:
      • STATIC_DIR=os.path.join(BASE_DIR,'static')
      • STATICFILES_DIRS=[STATIC_DIR,] (当由多个静态文件目录时,可加入)
    3. 在模板文件的 下面(不要写到最开头),写入{% load staticfiles %}
    4. 在模板文件中引用:{% static '<static文件夹中的目标文件路径>' %}

    2. Media

    1. 在项目根目录新建media文件夹
    2. 在setting.py中设置
      • MEDIA_DIR=os.path.join(BASE_DIR,'media')
      • MEDIA_ROOT=MEDIA_DIR
      • MEDIA_URL='/media/'(前后都有斜杠)
        • TEMPLATES设置中的context_processor选项中加入:'django.template.context_processors.media',
    3. 在项目urls文件中
      • from django.conf import settings
      • from django.conf.urls.static import static
      • 在文件最后加上: +static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
    4. 在模板文件中引用:
  • 相关阅读:
    Battle ships(二分图,建图,好题)
    棋盘游戏(二分图,删边)
    Girls' research(manacher)
    jenkins配置发送测试结果邮件
    Win10电脑如何更改开机启动项
    Ubuntu 18.04 固定pycharm图标固定到启动栏
    ubuntu下Fiddler抓包
    一个数据去重sql
    JENKINS针对不同项目组对用户进行权限分配
    jenkins添加用户
  • 原文地址:https://www.cnblogs.com/dreamkeeper/p/7749439.html
Copyright © 2011-2022 走看看