django form 양식 업로드 파일

12752 단어 django
1, 전면 페이지
form    :
    enctype="multipart/form-data"
type  :file
     <input type="file" class="btn btn-primary btn-lg active" name="imgdetail"/>
 
  
 <form class="form-horizontal" action="{% url 'pro:start_step' %}" method="post" enctype="multipart/form-data" >
                {% csrf_token %}
              <div class="form-group">
                <label class="col-sm-2 control-label">    label>
                <div class="col-sm-10">

                  <input type="file" class="btn btn-primary btn-lg active" name="imgdetail"/>    
                  <label class="control-label">  jpg、jpeg、png、gif  ,     2M,    : 740pxlabel>
                div>
              div>
                    <button type="submit" class="btn  btn-warning btn-lg" id="next">   button>
                div>
            form>


2, forms 검증
   /forms.py
from django import forms
class FilesForm(forms.Form):
    img = forms.FileField(required=False)
    img_detail = forms.FileField(required=False)

3, 뷰
   //project model
//type = models.ForeignKey(Type,verbose_name='  ',blank=True,null=True)

    
class Start_Step(View):

    def get(self,request):
        return render(request,'start-step-1.html')

    def post(self,request):
        #    
        form = FilesForm(request.POST or None, request.FILES or None)
        if form.is_valid():
            img = form.cleaned_data['img']
            img_detail = form.cleaned_data['img_detail']
            project_name = request.POST.get('project_name') #   
            project_desc = request.POST.get('project_desc')#    
            money = request.POST.get('money')#    
            days = request.POST.get('days') #    

            project = Project()
            project.name = project_name
            project.money = money
            project.late_day = days
            project.remark = project_desc
            project.status = '0'
            project.supportmoney = 1000
            type = Type(id=1) 
            project.type = type
            project.img = img
            project.img_detail = img_detail
            project.save()
            return render(request, 'start-step-2.html',{'project_id':project.id})

좋은 웹페이지 즐겨찾기