Django配置用户上传文件夹和暴露后端文件夹资源

网站所用的静态文件我们都默认存放到static文件夹下,而用户上传的文件也是静态资源,我们需要找一个公共的地方专门存储用户上传的静态文件。

针对用户上传的不同文件,保存到指定的文件夹下。

media配置专门用来指定用户上传的静态文件存放路径

1、配置文件中书写以下代码

# settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')  # 用户上传的文件就会保存到该文件夹下
# media是文件夹的名字,可以自定义,一般使用media作为名字

当用户上传文件,会自动创建media目录,并且你模型表中指定的上传路径,会自动在media目录下创建相应的上传目录。

例如models类中,avatar字段:

avatar = models.FileField(upload_to='avatar', default='avatar/default.png')

该模型表中指定上传至avatar目录,因此会在media目录下再创建一个avatar目录,用于存放用户的头像

2、还需要将后端文件夹资源暴露给用户,这样用户才能访问到。

先去urls.py中导入模块:

from django.views.static import serve
from bbs import settings

在urls.py中多写一条url,固定的写法:

url(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT})

原文地址:https://www.cnblogs.com/cnhyk/p/12274358.html

时间: 2024-10-26 15:17:47

Django配置用户上传文件夹和暴露后端文件夹资源的相关文章

Django配置图片上传

本文首先实现django中上传图片的过程,然后解决富文本编辑器文件上传的问题. 一. 上传图片 1.在 settings.py 中配置MEDIA_URL  和 MEDIA_ROOT 在 D:\blog_project  下建立文件夹 uploads MEDIA_URL = '/uploads/' # 上传图片的路径:D:\blog_project\uploads MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads') # 上传图片的根路径 BASE_DIR:

django 用户上传文件media的存储访问配置1

1. 首先新建文件夹media  后 在项目setting中具体配置: 1 MEDIA_URL = '/media/' 2 MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 在 setting 中的 TEMPLATES 下的 OPTIONS 中的 context_processors 中追加: TEMPLATES = [ { 'DIRS': [os.path.join(BASE_DIR, 'templates')], ...... 'OPTIONS': {

匿名用户上传文件

实验2允许匿名用户上传文件 实验环境 在虚拟机Linux 6.5系统下需要2台Linux系统一台A作为服务端一条B作为测试客户端开启2台Linux系统. 实验目标 A作为服务端配置VSFTPD服务器实现FTP服务. B作为测试客户端验证服务器A的共享是否有效. 配置真实主机确保真实主机能ping通2台虚拟机. 实验步骤 1.  首先将A,B真实主机放到同一网段中为了以后实验方便配置永久起效的静态IP地址验证AB真实主机能否通信安装vsftpd服务并启动. 2.  修改vsftpd主配置文件使得匿

解决IIS服务和用户上传的文件分别部署在不同的电脑上时,解决权限的问题

为解决IIS服务和用户上传的文件分别部署在不同的电脑上时,解决权限的问题. 定义: A:iis服务器 B:文件服务器 步骤: 1.在B上创建一个用户[uploaduser](并设置密码) 2.给B上的共享目录赋予用户[uploaduser]读写的权限. 3.在A上创建一个相同的用户[uploaduser](用户名和密码都一样) 4.在A上新建一个虚拟目录,指向B上的那个目录:并且检查其共享权限和权限中,[uploaduser]都存在且都有读写权限. 5.在A的iis这样配置: IIS应用程序池的

django实现分片上传文件

目标:利用django实现上传文件功能 1,先设置路由系统 urls.py from django.conf.urls import url,include from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^upload/$', views.upload), ] 2,配置html模板文件(前端页面展示) template

shell案例 - 统计用户上传文件的时间

问题与需求: 一个web服务跑论坛,每天都有很多用户会上传文件到服务器里,假设这些文件会保存在/data/www/attachment目录下,我想知道用户大概会在什么时候上传文件? 从而了解用户的行为习惯 解决思路: 1. 判断新文件是否被上传到了服务器里?以5分钟为一个间隔,进行检测. 2. 确定这些文件是什么时候被上传的? 3. 将新文件的列表输出到一个按年.月.日.时.分为名字的日志里,以方便我们进行查看分析 4. 写一个shell脚本来帮我们自动实现这个检测和记录的过程,当然只检测一次是

springMVC:为MultipartFilte配置了上传文件解析器,报错或不能使用

一.问题描述为支持restful风格请求,并且应对可能上传文件的情况,需要在配置hiddenHttpMethodFilter过滤器之前配置MultipartFilter.目的是让MultipartFilter过滤器先将带文件上传的请求,进行解析.以便hiddenHttpMethodFilter可以取到”_method”参数,转化为相应的http动作. 既然multipartFilter要进行上传文件的解析,那么必然需要MutipartResolver,那么问题发生了! 二.报错:Unable t

ubuntu server vsftpd 匿名用户上传下载及目录设置

ubuntu server vsftpd 匿名用户上传下载及目录设置 1:vsftpd服务器安装: sudo apt-get install vsftpd #安装 cd /srv/ #切换到默认匿名用户ftp目录: 运行 ls -l 我们可以看到 默认的 ftp目录是,虚拟用户ftp的根目录,并且此目录是匿名用户管理的根目录, 无论是对 ftp,改组,改用户,改权限都不能在ftp根目录下,上传东西,要么就是ftp匿名无法连接,要么就是不能上传:折腾了几天,终于明白了! ftp 作为匿名用户根目录

安装配置BITS上传服务

IIS 6.0和IIS 7.0 支持安装BITS上传组件. 下面以IIS7.0为例安装配置bits上传服务. 1.安装 首先确定服务器已经按装IIS服务.依次打开服务管理器->功能->添加功能, 选择BITS服务扩展,添加必要的服务后点击确定.等待BITS安装完成. 打开IIS管理器后选择一个网站,可以在功能视图中找到BITS上载配置 2.配置 2.1设置虚拟路径权限 由于安全原因,BITS不允许上传的虚拟路径拥有脚本执行权限,如果试图上传文件到一个拥有执行权限的虚拟目录,Job会执行失败BG