Django文件上传与下载(FileFlid)


Posted in Python onOctober 06, 2019

本文实例为大家分享了Django文件上传与下载的具体代码,供大家参考,具体内容如下

Django1.4

首先是上传:

#settings.py

MEDIA_ROOT = HERE#定义一个完整路径给 MEDIA_ROOT 以便让 Django在此处保存上传文件

MEDIA_URL = 'media'#定义 MEDIA_URL 作为该目录的公共 URL,要确保该目录对 WEB 服务器用户帐号是可写的

#model.py
 
#coding=utf-8
 
from django.db import models
class User(models.Model):
 username = models.CharField(max_length = 30)
 headImg = models.FileField(upload_to = 'update/%Y%m%d')
 
 def __unicode__(self):
 return self.username
#view.py
 
#coding=utf-8
 
from django.shortcuts import render_to_response
from django import forms
from django.http import HttpResponse
from django.template import RequestContext
from disk.models import User
 
# Create your views here.
class UserForm(forms.Form):
 username = forms.CharField()
 headImg = forms.FileField()
 
def register(request):
 if request.method == "POST":
 uf = UserForm(request.POST, request.FILES)
 if uf.is_valid():
  #获取表单信息
  username = uf.cleaned_data['username']
  headImg = uf.cleaned_data['headImg']
  #写入数据库
  user = User()
  user.username = username
  user.headImg = headImg
  user.save()
  return HttpResponse('upload ok!')
 else:
 uf = UserForm()
 ur= User.objects.order_by('id')
 return render_to_response('register.html',{'uf':uf}, context_instance=RequestContext(request))

前台使用{{uf.as_ul}}来展示form,如下:

Django文件上传与下载(FileFlid)

#register.html
 
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <title></title>
</head>
<a href="update/20140711/005zEPW4jw1eg3js7sil3g30500824al.gif" rel="external nofollow" >gao</a>
<body>
 <h1>register</h1>
 <form method="post" enctype="multipart/form-data" >
 {% csrf_token %}
 {{uf.as_ul}}
 <input type="submit" value="ok" />
 </form>
</body>
</html>

上传成功!

数据库中是这么个情况:

Django文件上传与下载(FileFlid)

接下来是下载

我的文件目录是:

Django文件上传与下载(FileFlid)

要想下载你首先要知道,你上传的东西到了哪个目录,涉及到两个地方:

MEDIA_ROOT = HERE

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python元组操作实例解析
Sep 23 Python
轻松掌握python设计模式之访问者模式
Nov 18 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 Python
python如何将多个PDF进行合并
Aug 13 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 Python
用python实现名片管理系统
Jun 18 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 Python
Python getsizeof()和getsize()区分详解
Nov 20 Python
Python中Cookies导出某站用户数据的方法
May 17 Python
什么是Python装饰器?如何定义和使用?
Apr 11 Python
Python采集爬取京东商品信息和评论并存入MySQL
Apr 12 Python
Django实现文件上传下载
Oct 06 #Python
python编写猜数字小游戏
Oct 06 #Python
python实现猜数字游戏
Mar 25 #Python
python实现机器人卡牌
Oct 06 #Python
Django实现文件上传下载功能
Oct 06 #Python
使用turtle绘制五角星、分形树
Oct 06 #Python
wxPython:python首选的GUI库实例分享
Oct 05 #Python
You might like
PHP 金额数字转换成英文
2010/05/06 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
Python 爬虫模拟登陆知乎
2016/09/23 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
python获取代码运行时间的实例代码
2018/06/11 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
开朗女孩的自我评价
2014/02/10 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
解析mybatis-plus中的resultMap简单使用
2021/11/23 Java/Android