关于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. 在模板文件中引用:

Django Static与Media的更多相关文章

  1. Windows下Apache+Django+mod_wsgi的static和media问题处理

    配置好了Apache可以访问Django工程了(参见前篇:Windows编译安装mod_wsgi,配合使用Django+Apahce) 但是Django中的static.media等文件Apache是 ...

  2. django配置templates、static、media和连接mysql数据库

    1.模板文件 # =======templates配置======= if os.path.exists(os.path.join(BASE_DIR, 'templates')) is False: ...

  3. Django的static和media

    2013-09-09 18:13:57|          最近用到Django的静态文件,关于static和media,配置了很多次,终于可以用了.        首先是static,在'site/ ...

  4. Djano中static和media文件路径的设置

    对于常用的css.js.image和常用的工具类在django项目中要设置一个全局的路径,对所有的app都可以访问到这个路径下的文件 1在django项目的setting文件中设置对应的static和 ...

  5. Django static静态配置文件

    对于Django来说静态文件一般交由Web服务器处理,Django本身不处理静态文件.为了使Django开发环境能够处理静态文件,Django有和生产环境不同的静态文件配置方式. Django 版本: ...

  6. python 全栈开发,Day108(客户管理之权限控制,客户管理之动态"一级"菜单,其他应用使用rbac组件,django static文件的引入方式)

    一.客户管理之权限控制 昨天的作业,有很多不完善的地方 下载代码,基本实现权限验证 https://github.com/987334176/luffy_permission/archive/v1.2 ...

  7. django时区设置 media配置 日期截断函数 上传图片管理设计方案

    1.django时区 修改一下app里的设置 TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True # 不用UTC时间 USE_TZ ...

  8. django中的media

    我们用Django写一个网站,可能会需要将用户注册时的头像展示到页面上,当然一开始学的用户上传头像文件都是在项目目录下的,那我们在网页上获取这个头像文件是获取不到的,此时我们需要配置一下media,才 ...

  9. django static文件的引入方式

    1. 在django project中创建 static文件夹 2.settings.py中配置要在 STATIC_URL = '/static/'  下边 STATICFILES_DIRS = [ ...

随机推荐

  1. java随机数的产生

    两种产生随机数的方法: 1.通过import java.util.Random来实现 2.Math.random() 一.第一种的话就是导入Random之后,先生成一个Random对象r,之后再利用r ...

  2. B. Queue

    During the lunch break all n Berland State University students lined up in the food court. However, ...

  3. 数学知识-欧拉函数&快速幂

    欧拉函数 定义 对于正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目,记作φ(n). 算法思路 既然求解每个数的欧拉函数,都需要知道他的质因子,而不需要个数 因此,我们只需求出他的质因子, ...

  4. 国产网络测试仪MiniSMB - 如何3秒内创建出16,000条UDP/TCP端口号递增流

    国产网络测试仪MiniSMB(www.minismb.com)是复刻smartbits的IP网络性能测试工具,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此以太 ...

  5. 并发编程之java内存模型(Java Memory Model ,JMM)

    一.图例 0.两个概念 Heap(堆):运行时的数据区,由垃圾回收负责,运行时分配内存(所以慢),对象存放在堆上 如果两个线程,同时调用同一个变量,怎两个线程都拥有,该对象的私有拷贝 (可以看一下,T ...

  6. spfa+链式前向星模板

    #include<bits/stdc++.h> #define inf 1<<30 using namespace std; struct Edge{ int nex,to,w ...

  7. JavaScript 实现 (ECMAScript 6)

    JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象: DOM 描述了处理网页内容的方法和接口: BOM 描述了与浏览器进行交互的方法和接口. ECMAScript.DOM ...

  8. Web 前端如何一键开启上帝模式

    Web 前端如何一键开启上帝模式 God Mode document.designMode = `on`; refs https://www.cnblogs.com/xgqfrms/tag/desig ...

  9. SSH Keys vs GPG Keys

    SSH Keys vs GPG Keys SSH Keys SSH keys allow you to establish a secure connection between your compu ...

  10. github & coding 2018

    github & coding 2018 github & coding all in one https://github.com/topics/javascript react r ...