学习笔记,仅供参考,有错必纠

引用:使用模型来处理上传的文件;Django static静态配置文件


MEDIA_ROOT和MEDIA_URL

  • 变量解释

MEDIA_ROOT:指定用户上传文件的本地路径,比如,指定利用FileFIeld,ImageField上传文件的路径;

MEDIA_URL:指定URL的映射,前后要加上/ 比如'/work/'

  • 配置过程
  1. 在settings文件中设置MEDIA_URL,比如MEDIA_URL = '/work/'

  2. 在settings文件中设置MEDIA_ROOT,可以是任意位置(与STATIC_ROOT不同),用于保存上传的文件:

MEDIA_ROOT = os.path.join(BASE_DIR, 'work')
MEDIA_URL = '/work/'
  1. 在urls.py文件中进行配置:
from django.contrib import admin
from django.urls import path,include
from . import views
from django.conf.urls.static import static
from django.conf import settingsurlpatterns = [path('admin/', admin.site.urls),path('', views.mainIndex),
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
  1. 在settings文件中,TEMPLATES中'context_processors'下面新增'django.template.context_processors.media'
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, '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','django.template.context_processors.media',],},},
]

配置好后可以使用浏览器访问上传的文件,比如MEDIA_URL设置的是'/work/',MEDIA_ROOT设置的是'F:/MyStudio/PythonStudio/goatbishop.project01/Django/PaperManageSystem01/work',在models中设置的文件上传到upload_to = "word",那么文件上传后实际存储地址为'F:/MyStudio/PythonStudio/goatbishop.project01/Django/PaperManageSystem01/work/word/',URL为:127.0.0.1:8000/work/word/

Django从理论到实战(part54)--MEDIA_ROOT和MEDIA_URL相关推荐

  1. Django从理论到实战(part50)--使用模型来处理上传的文件

    学习笔记,仅供参考,有错必纠 文章目录 使用模型来处理上传的文件 `MEDIA_ROOT`和`MEDIA_URL` 限制文件的扩展名 使用模型来处理上传的文件 在定义模型的时候,我们可以给存储文件的字 ...

  2. Django从理论到实战(part25)--数据库操作

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...

  3. Django从理论到实战(part22)--include模板标签

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...

  4. Django从理论到实战(part21)--自定义模板过滤器

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...

  5. Django从理论到实战(part55)--将网站上传到GitHub

    代码笔记,仅供参考 文章目录 上传项目到GitHub 创建本地仓库 在GitHub上创建仓库 项目上传 上传项目到GitHub 创建本地仓库 我们在git bash中敲入如下代码. 进入项目目录: c ...

  6. Django从理论到实战(part53)--CSRF攻击

    学习笔记,仅供参考,有错必纠 摘自:某网课笔记 文章目录 CSRF攻击 CSRF攻击概述 CSRF攻击原理 防御CSRF攻击 CSRF攻击 CSRF攻击概述 CSRF(Cross Site Reque ...

  7. Django从理论到实战(part52)--登录、注销及登录限制

    学习笔记,仅供参考,有错必纠 文章目录 登录.注销及登录限制 登录 注销 登录限制 登录.注销及登录限制 登录 在使用authenticate进行验证后,如果验证通过了.那么会返回一个user对象,拿 ...

  8. Django从理论到实战(part51)--User模型

    学习笔记,仅供参考,有错必纠 摘自:pink老师教案 文章目录 User模型 字段 User模型的基本用法 创建用户 创建超级用户 修改密码 登录验证 User模型 User模型是Django框架的核 ...

  9. Django从理论到实战(part49)--ModelForm

    学习笔记,仅供参考,有错必纠 参考自:某网课 ModelForm 我门在写表单的时候,会发现表单中的Field和模型中的Field基本上是一模一样的,而且表单中需要验证的数据,也就是我们模型中需要保存 ...

最新文章

  1. usaco Controlling Companies
  2. 可怕!公司部署了一个东西,悄悄盯着你
  3. ubuntu安装新字体
  4. 最简单的基于FFMPEG的封装格式转换器(无编解码)
  5. 机器学习中的数据预处理(sklearn preprocessing)
  6. C++动态链接库的制作
  7. 二级c语言题型分数,计算机二级C语言题型和评分标准
  8. apache rewrite机制
  9. CI如何接受POST请求中的JSON数据
  10. 【Java】关于Java的一些基础知识点
  11. Java集合的ConcurrentModificationException
  12. 漏洞分析中常用的堆调试支持
  13. 爬虫访问中,如何解决网站限制IP的问题?
  14. MACm1上lark无法使用共享屏幕问题
  15. 使用 Flash 描述复杂的社交网络
  16. 创新移动互联,阿凡题学习神器引领搜索新体验
  17. 分布式 Git - 为项目做贡献
  18. 360Vulcan团队再获微软致谢 协助修复Edge及IE漏洞
  19. Linux每日一讲:awk命令
  20. 把C盘的用户Users文件移动到D盘最简单的方法【转】

热门文章

  1. pyspark读写SequenceFile
  2. leetcode :动态规划
  3. opengl 流程梳理
  4. java定义json数组_Java面试题:json该如何定义?json与xml的区别有哪些?
  5. Java的回调机制--学习笔记
  6. 国内人工智能专利布局存隐忧
  7. #11 硬连接与软链接与RAID与LVM2
  8. 阿里云ECS服务器磁盘空间异常,或者爆满
  9. 关于 Method Swizzing方法
  10. Windows UI风格的设计(9)