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,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
JSON 数据库 数据格式
Django之Form组件
Django之Form组件
|
数据库 数据安全/隐私保护 Python
|
6月前
|
数据库 开发者 UED
如何使用Django的Form组件
如何使用Django的Form组件
69 0
|
存储 前端开发 JavaScript
Django第4步_理解form表单类与处理html的post、get
Django第4步_理解form表单类与处理html的post、get
79 0
|
前端开发 JavaScript 测试技术
Django 实现文件上传下载API
Django 实现文件上传下载API
199 0
|
前端开发 数据库 Python
Django Web 极简教程(六)- Django Form(Part A)
Django Web 极简教程(六)- Django Form(Part A)
Django Web 极简教程(六)- Django Form(Part A)
|
存储 SQL 前端开发
Django Blog | 10 自定义Form,美化页面并实现文章编辑功能
Django Blog | 10 自定义Form,美化页面并实现文章编辑功能
428 0
Django Blog | 10 自定义Form,美化页面并实现文章编辑功能
|
前端开发 JavaScript 数据库
Django中的Form组件
一、form组件的主要功能: 生成页面的HTML标签及样式 对用户提交的数据进行校验 自动生成错误信息 保留上次输入信息 二、使用form组件实现注册功能 1、在Django项目下创建一个文件夹,在文件夹中创建一个朋友文件,名字随便起,之后在py文...
1384 0
|
JavaScript 前端开发 Python
Django中ajax技术和form表单两种方式向后端提交文件
一、Form表单方式提交: form表单提交文件或者图像时需要对form中的属性进行如下设置: 1、method="post" //提交方式 post 2、enctype="multipart/form-data" //不对字符编码。
1955 0