分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

十七 ?Django框架,文件上传

发布时间:2023-09-06 01:34责任编辑:沈小雨关键词:文件上传

1、自定义上传【推荐】

请求对象.FILES.get()获取上传文件的对象
上传对象.name获取上传文件名称
上传对象.chunks()获取上传数据包,字节码类型

html

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<link rel="stylesheet" type="text/css" href="/static/css/tou.css"></head><body><form action="/bugarticles/" enctype="multipart/form-data" method="post"> ???<input type="file" name="shch"/> ???<input type="submit" value="上传"/></form></body></html>

逻辑处理

from django.shortcuts import render,redirectimport os#逻辑处理模块def special(request): ???if request.method == "POST": ???????obj = request.FILES.get(‘shch‘) ?????????????????#获取上传文件对象 ???????f = open(os.path.join("app1", obj.name), ‘wb‘) ??#以读写字节模式打开,存在覆盖没有创建 ???????for chunk in obj.chunks(): ?????????????????????#循环文件数据块 ???????????f.write(chunk) ?????????????????????????????#写入文件 ???????f.close() ??????????????????????????????????????#关闭打开文件 ???return render(request, ‘app1/index.html‘,locals())

内置方式

表单验证模块

class FileForm(forms.Form): ???ExcelFile = forms.FileField()

数据库操作Models模块

from django.db import modelsclass UploadFile(models.Model): ???userid = models.CharField(max_length = 30) ???file = models.FileField(upload_to = ‘./upload/‘) ???date = models.DateTimeField(auto_now_add=True)

逻辑处理模块

def UploadFile(request): ???uf = AssetForm.FileForm(request.POST,request.FILES) ???if uf.is_valid(): ???????????upload = models.UploadFile() ???????????upload.userid = 1 ???????????upload.file = uf.cleaned_data[‘ExcelFile‘] ???????????upload.save() ???????????????????????print upload.file

十七 ?Django框架,文件上传

原文地址:https://www.cnblogs.com/meng-wei-zhi/p/8183142.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved