Django form 实现文件上传

简介:

  很久没更新博客了,最近在写项目没时间,做到文件上传的适合,看了虫师的博客觉得不错,就顺便记录一下自己的操作过程:

 models 配置:

1
2
3
4
class  User(models.Model):
     headImg  =  models.FileField(upload_to  =  './upload/' )
     def  __unicode__( self ):
         return  self .headImg

#####建立一个headImg字段###数据上传到数据库做记录并且在当前项目目录下建立upload文件夹。

  html 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version = "1.0"  encoding = "UTF-8" ?>
<!DOCTYPE html PUBLIC  "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
<html xmlns = "http://www.w3.org/1999/xhtml"  xml:lang = "en"  lang = "en" >
<head>
     <meta http - equiv = "Content-Type"  content = "text/html; charset=UTF-8"  / >
         <title>< / title>
         < / head>
         <body>
         <h1>register< / h1>
         <form method = "post"  enctype = "multipart/form-data"  >
         `uf`.`as_p`
         < input  type = "submit"  value = "ok" / >
         < / form>
         < / body>
         < / html>

  view 视图文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class  UserForm(forms.Form):
     headImg  =  forms.FileField()
def  disk(request):
     if  request.method  = =  "POST" :
         uf  =  UserForm(request.POST,request.FILES)
         if  uf.is_valid():
             headImg  =  uf.cleaned_data[ 'headImg' ]
             user  =  User()
             user.headImg  =  headImg
             user.save()
             return  HttpResponse( 'upload ok!' )
     else :
         uf  =  UserForm()
     return  render_to_response( 'disk.html' ,{ 'uf' :uf})

####form方式实现表单显示,并且上传文件。          

wKiom1XgDhTg9tAKAABSVBB0JYY642.jpg

上传成功:

mysql查看文件:

1
2
3
4
5
6
7
8
9
10
11
mysql> select  *  from  app_user;
+ - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
id  | headImg                       |
+ - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
|   1  | upload / out_W3xCNAW.txt        |
|   2  | upload / out_429apY0.txt        |
|   3  | upload / out.txt                |
|   4  | upload / out_FAvse7g.txt        |
|   5  | upload / 新建文本文档.txt       |
|   6  | upload / out_0Cve1aD.txt        |
+ - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +










本文转自 小罗ge11 51CTO博客,原文链接:http://blog.51cto.com/xiaoluoge/1689299,如需转载请自行联系原作者
目录
相关文章
|
前端开发 JavaScript 测试技术
Django 实现文件上传下载API
Django 实现文件上传下载API
533 0
|
Python 数据安全/隐私保护 前端开发
Django的form表单之文件上传
在生成input标签的时候可以指定input标签的类型为file类型 Title {{ error_message }} {% csrf_token %} 此时,在网页上页示如下 如果网页上提交的是用户名和密码等,通过键值对发送到服务端。
1532 0
|
数据安全/隐私保护 Shell
|
Python 安全 前端开发
django 1.8 官方文档翻译: 3-3-1 文件上传
文件上传 当Django在处理文件上传的时候,文件数据被保存在request. FILES (更多关于 request 对象的信息 请查看 请求和响应对象)。
1190 0
|
前端开发 数据库 Python
|
数据库 Python 存储
Django 实现简单的文件上传
今天分享一下Django实现的简单的文件上传的小例子。 步骤 创建Django项目,创建Django应用 设计模型 处理urls.py 以及views.py 设计模板,设计表单 运行项目,查看数据库 下面我们就一起来分别完成每一个小部分吧。
1421 0
|
XML 数据库 数据格式