前言
本教程中,我将会使用Django和Vue创建一个支持多文件上传的文件上传器。您可以在单个文件和多个文件上传之间选择在应用中进行上传操作。因此在这里您可以在本教程中我们将要构建的内容:
在完成上传操作以后,您可以在项目文件下找到上传的文件,而且它们按照年月日进行了分类:
同名文字的处理:Django会对同名文件进行重命名处理,非常方便
这看上去很不错。现在让我们开始编码吧!
Django部分
构建Django项目
(可选)创建项目虚拟环境
其实使用本机的全局环境也是可以的,看个人喜好。
python -m venv env
激活虚拟环境
env\Scripts\activate
退出虚拟环境命令–deactivate
安装Django及其他项目依赖
pip install django,django-cors-headers
创建Django app
python manage.py startapp document
完成上述操作后,项目目录如下:
配置settings.py
添加document应用到INSTALL_APPS
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'document'
]
配置媒体路径,指定上传文件的存放位置
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'
构建document
应用
创建模型(models.py)
进入document
文件夹,为文件上传创建数据库模型
from django.db import models
class Document(models.Model):
document = models.FileField(upload_to='uploads/%Y/%m/%d')
def __str__(self):
return str(self.pk)
upload_to
文件存放位置:基于MEDIA_ROOT
的起始路径。这里的uploads/
指文件将要存放在media
目录下新建的uploads
文件夹,可往下递推。
完成数据库模型的设置后,转到终端将设置写入到数据库
python manage.py makemigrations
python manage