Django文件上传

1、创建模型models.py

class uImage(models.Model):
  uname
= models.CharField(max_lenght=30()
  image
= models.FileField("./upload/") def __unicode__(self): return self.uname
"./upload/" 没有"."会导致文件上传报错
模型创建完后,需要同步到数据库,命令为:python mange.py syncdb

2、创建表单 forms.py

class uForm(forms.Form):
  uname
= forms.CharField)   image = forms.FileField()

3、创建模板 models.py

<form method="POST" enctype="multipart/form-data">

{{uf.as_p}}

<input type="sumbit" value="OK">

</form>
enctype="multipart/form-data" 为必须填写项,否则上传的文件将不给予保存
uf.as_p → HTML  <p></p>
uf.as_ul → HTML <ul></ul>
uf.as_table → HTML <table></table>

4、视图 views.py

def upload(req):
    
    if req.method == 'POST':

      //绑定动作,req.FIFES上传文件的绑定动作
        uf = uForm(req.POST, req.FIFES)
        
        //表达验证动作
    if uf.is_valid():
    
            //获取表达上传数据并传递给uname、image
            //'uname''image' 和表达属性name一致,即和froms变量一致
            uname = uf.cleaned_data['uname']
            image = uf.cleaned_data['image']

            //调用模型接口
            uimage = UImage()

            //将表达的值传给数据库字段中
            uimage.uname = uname
            uimage.image = image

            //保存数据
            uimage.save()
return HttpResponse('OK') elsereturn render_to_respose('upload.html',{"uf":uf})

 

posted on 2014-08-20 14:49  小与  阅读(186)  评论(0)    收藏  举报

导航