码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-09-06 18:01:01      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:author   print   token   HERE   uid   inpu   har   uuid   分享图片   

实现效果

技术分享图片

代码

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实现的多文件上传

标签:author   print   token   HERE   uid   inpu   har   uuid   分享图片   

原文地址:https://www.cnblogs.com/iiiiiher/p/9599296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!