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实现将sqlite数据库导出转成Excel(xls)表的方法
Jul 17 Python
Django+JS 实现点击头像即可更改头像的方法示例
Dec 26 Python
python flask 如何修改默认端口号的方法步骤
Jul 12 Python
Django 迁移、操作数据库的方法
Aug 02 Python
超实用的 30 段 Python 案例
Oct 10 Python
python 经典数字滤波实例
Dec 16 Python
python操作cfg配置文件方式
Dec 22 Python
python利用百度云接口实现车牌识别的示例
Feb 21 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
详解如何修改python中字典的键和值
Sep 29 Python
python文件名批量重命名脚本实例代码
Apr 22 Python
python实现过滤敏感词
May 08 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
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
php注册登录系统简化版
2020/12/28 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
JavaScript 事件记录使用说明
2009/10/20 Javascript
JQUBar 基于JQUERY的柱状图插件
2010/11/23 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
python对字典进行排序实例
2014/09/25 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
Python转换时间的图文方法
2019/07/01 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
绿化先进工作者事迹材料
2014/01/30 职场文书
公司拓展活动方案
2014/02/13 职场文书
演讲主持词
2014/03/18 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python