0

我想在我的 django 应用程序中保存和过滤用户的对象。输入以下代码后,图像字段没有将任何图像上传到我的数据库,也没有在我的模板中返回任何图像。

楷模

class Fin(models.Model):
    user=models.ForeignKey(User)
    title=models.CharField(max_length=250, help_text='3 bedroom flat for lease')
    main_view=models.ImageField(upload_to="photos",blank=True, null=True)
    side_view=models.ImageField(upload_to="photos",blank=True, null=True)
    address=models.CharField(max_length=200)
    city=models.CharField(max_length=200)
    state=models.CharField(max_length=200)
    guideline=models.TextField(max_length=1000)

   def __unicode__(self):
       return self.title


 class FinForm(ModelForm):
   class Meta:
      model=Fin
     fields=('title','main_view','side_view', 'address','city','state','guideline')
     exclude=('user')

意见

     def fincrib(request):
          extra_data_context={}
          #if there's nothing in the field do nothing.
          if request. method=="POST":
             form =FinForm(request.POST)
             if form.is_valid():
                data=form.cleaned_data
                newfincribs=Fin(
                   user= request.user,
                   title=data['title'],
                   main_view=data ['main_view'],
                   side_view=data['side_view'],
                   address=data['address'],
                   city=data['city'],
                   state=data['state'],
                   guideline=data['guideline'])
               newfincribs.save()
             extra_data_context.update({'FinForm':form})
      else:
          form = FinForm()
          extra_data_context.update({'FinForm':form})
      extra_data_context.update({'Fins':Fin.objects.filter(user=request.user)})
      return render_to_response('post.html',extra_data_context,context_instance=RequestContext(request))

模板

     {% block content %}
        <form action="." method="POST">
            {% csrf_token %}
    <center> {{FinForm.as_p}}  </center>
       <input type="submit" value="Submit"/>
       </form>

         {% for Fin in Fins %}
             <tr>
            <a href="{% url profiles_edit_profile %}"> {{Fin.user}} </a> </p> </strong>
             <p>{{Fin.title}}</p>
             <p><img src="{{MEDIA_URL}}/{{Fin.main_view}}"/></p>
             <p> <img src="{{MEDIA_URL}}/{{Fin.side_view}}"/></p>
              <p> {{Fin.address}} </p>
              <p> {{Fin.city}}</p>
              <p> {{Fin.state}}</p>
              <p> {{Fin.guideline}}</p>
              {% endfor %}
           {% endblock %}
4

2 回答 2

2

您在模板和视图层上遗漏了许多东西。

阅读:https ://docs.djangoproject.com/en/1.3/topics/http/file-uploads/#basic-file-uploads

于 2012-06-05T18:23:59.867 回答
0

从 django 官方文档中读取绑定上传的文件到表单。我认为它可以提供帮助。

于 2012-06-05T18:25:41.133 回答