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的设计模式编程入门指南
Apr 02 Python
django实现用户登陆功能详解
Dec 11 Python
对PyTorch torch.stack的实例讲解
Jul 30 Python
python3 打开外部程序及关闭的示例
Nov 06 Python
Python实现的矩阵转置与矩阵相乘运算示例
Mar 26 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
Django实现文件上传和下载功能
Oct 06 Python
Django密码存储策略分析
Jan 09 Python
对Python中 \r, \n, \r\n的彻底理解
Mar 06 Python
Python如何爬取b站热门视频并导入Excel
Aug 10 Python
浅谈Python 钉钉报警必备知识系统讲解
Aug 17 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
Dec 14 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无限分类使用concat如何实现
2015/11/05 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
jQuery开源组件BootstrapValidator使用详解
2017/06/29 jQuery
JS一个简单的注册页面实例
2017/09/05 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
JS实现盒子拖拽效果
2020/02/06 Javascript
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
python读取与写入csv格式文件的示例代码
2017/12/16 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
经典c++面试题二
2015/08/14 面试题
办公室文员工作自我评价
2013/12/01 职场文书
校友会欢迎辞
2014/01/13 职场文书
创业计划书的主要内容有哪些
2014/01/29 职场文书
岗位廉政承诺书
2014/03/27 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
党小组鉴定意见
2015/06/02 职场文书
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android