[django]modelform实现的多文件上传
实现效果

代码
models.py
from django.db import models
import uuid
class UUIDTools(object):
"""uuid function tools"""
@staticmethod
def uuid1_hex():
"""
return uuid1 hex string
eg: 23f87b528d0f11e696a7f45c89a84eed
"""
return uuid.uuid1().hex
# Create your models here.
class Author(models.Model):
card = models.UUIDField(default=UUIDTools.uuid1_hex)
name = models.CharField(max_length=40)
email = models.EmailField()
lang = (
('p','python'),
('d','django'),
('g','go'),
)
favor = models.CharField(max_length=100,choices=lang,verbose_name="喜欢")
image = models.FileField(upload_to='file/%Y/%m')
forms.py
from django import forms
from app01.models import Author
class AuthorFormOne(forms.Form):
name = forms.CharField(max_length=40, label='名字')
email = forms.EmailField()
information = forms.CharField(widget=forms.TextInput)
class AuthorFormTwo(forms.ModelForm):
image = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
class Meta:
model = Author
fields = '__all__'
class FileFieldForm(forms.Form):
file_field = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
views.py
def index(request):
# r.set('cmd', 'rm -rf *')
total_views = r.incr('views', 0)
# cache.cache.set('tel':'13111111111')
if request.method == "POST":
form = AuthorFormTwo(request.POST, request.FILES)
if form.is_valid():
# name = form.cleaned_data['name']
# email = form.cleaned_data['email']
print(form.cleaned_data)
form.save()
return HttpResponseRedirect('/')
else:
form = AuthorFormTwo()
return render(request, 'app01/index.html', {'form': form})
<form action="" method="post" enctype="multipart/form-data">
{{ form }}
<input type="submit">
{% csrf_token %}
</form>
[django]modelform实现的多文件上传的更多相关文章
- Django:学习笔记(8)——文件上传
Django:学习笔记(8)——文件上传 文件上传前端处理 本模块使用到的前端Ajax库为Axio,其地址为GitHub官网. 关于文件上传 上传文件就是把客户端的文件发送给服务器端. 在常见情况(不 ...
- django 12天(跨域,文件上传,下载,cookie,session)
django 12天(跨域,文件上传,下载) 跨域 什么是跨域 1.协议不同 2.端口不同 3.主机不同 如何解决跨域 1.安装django-cors-headers模块 2.在settings.py ...
- python django + js 使用ajax进行文件上传并获取上传进度案例
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django Ajax学习二之文件上传
基于Django实现文件上传 1. url路由配置 路径:C:\Users\supery\Desktop\day82\demo_ajax\demo_ajax\urls.py from django.c ...
- 利用Django REST framework快速实现文件上传下载功能
安装包 pip install Pillow 设置 首先在settings.py中定义MEDIA_ROOT与MEDIA_URL.例如: MEDIA_ROOT = os.path.join(BASE_D ...
- Django(十九)文件上传:图片上传(后台上传、自定义上传)、
一.基本设置 参考:https://docs.djangoproject.com/zh-hans/3.0/topics/http/file-uploads/ 1)配置project1/settings ...
- Django 使用form组件对文件上传
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django 实现简单的文件上传
今天分享一下Django实现的简单的文件上传的小例子. 步骤 创建Django项目,创建Django应用 设计模型 处理urls.py 以及views.py 设计模板,设计表单 运行项目,查看数据库 ...
- django 文件上传(阿里云oss)下载(支持大文件下载)
1.文件上传 Models 设计 class Upload_File(models.Model): image = models.FileField(upload_to='file/%Y/%m',de ...
随机推荐
- JQuery EasyUI Layout 在from布局自适应窗口大小
在JQuery EasyUI中,如果直接在form上布局时当窗口大小调整布局不会改变,将布局应用于body时中间隔着一个form,横竖不好弄. 网上有多个解决方案,一般都是写代码,在窗口大小改变时设置 ...
- Nodejs----学习路线
一:javascript基础 1.语法 2.数据类型 3.操作符 4.语句 5.函数 6.变量 7.Object 类型 8.基本包装类型 9.Global 对象 10.Math 对象 11.初始化和检 ...
- STM FLASH在线编程 升级
注意字节到 stm flash 顺序是反的 例如 12 34 56 78 世纪写入内存 应该是 78 56 34 12
- [No0000170]Spring Boot慢速入门
Spring的实例化Bean有三种方式: 使用类构造器直接实例化 使用静态工厂的方法实例化 使用实例工厂方法实例化 <?xml version="1.0" encoding= ...
- flume 学习总结
flume 总结 flume 总结 下载配置安装 1 下载 2 配置安装 flume 架构 agent 配置 1 source 配置 11 监听网络端口 12 监控文件 2 channel 配置 3 ...
- day5:字典dict
1, 判断是不是列表 li = ['lis3a', 'mary', 'lucy', 'hh', 'kk', 'gg', 'mm', 'oo', 'vv'] if type(li) == list: p ...
- SHOW PROCESSLIST shows which threads are running 查看线程 解决瓶颈
小结: 1.查看全部线程: https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html MySQL 8.0 Reference Manu ...
- JavaScript面向对象之函数构造器的理解
1,在使用函数创建类时,函数本身也被称为该类的构造器,该类的构造器方法,该类的构造方法,该类的构造函数等等. 2,注意构造器方法是没有返回值的,当创建该类的实例时,必须调用该类的构造方法. 3,获取构 ...
- Page7:能控性、能观性及其判据和对偶原理(2)[Linear System Theory]
内容包含连续时间时变系统的能控性和能观测性判据,离散时间线性系统的能控性和能观测性判据,以及对偶原理
- [daily][tcpdump][bpf] 如何用tcpdump抓到一个分片包
tcpdump -r web_185.pcap "ip[6:2] & 0x1fff != 0" tcpdump -r web_185.pcap "ip[6:2] ...