django的上传文件(比较复杂的一种)
来源:互联网 发布:毛笔字软件中文版 编辑:程序博客网 时间:2024/06/04 13:36
django的上传文件
models.py
#encoding=utf-8
from django.db import models
class Photo(models.Model):
file = models.FileField(upload_to='photos/%Y/%m/%d',blank=True,null=True) 一个文件上传字段
upload_to一个本地的文件系统路径,被附加到你的 MEDIA_ROOT 设置后面,这决定了 get_<fieldname>_url() 辅助函数的输出 例如,你的 MEDIA_ROOT 设置为 '/home/media' , upload_to 设置为 'photos/%Y/%m/%d' 。其中 '%Y/%m/%d' 部分是日期格式化串: '%Y' 为4位的年份, '%m' 是两位月份, '%d' 是两位的日期。如果你在2007年1月15日上传文件,这个文件就会被保存在/home/media/photos/2007/01/15 目录下。
views.py文件
from django.http import HttpResponseRedirect
from django.http import HttpResponse
from django.shortcuts import render_to_response
from django.conf import settings
import os
def upload_file(request):
if request.method == 'POST':
file = request.FILES.get('filename','')
filename=file.name
fname = os.path.join(settings.MEDIA_ROOT,filename)
if os.path.exists(fname): 判断文件夹是否存在
os.remove(fname)
dirs= os.path.dirname(fname) 如果fname是完整路径 则输出完整的 否则为空
if not os.path.exists(dirs): 判断这个路径是否存在
os.makedirs(dirs) 如果不存在则创建这个目录
if os.path.isfile(fname): 判断是否为文件,是true,不是False,
os.remove(fname)
fp = open(fname, 'wb') 读写打开这个要上传的文件
for content in file.chunks(): 写
fp.write(content)
fp.close()
return HttpResponse('ok') 如果上传成功则返回ok
return render_to_response("upload.html",locals())
upload.html
<form method="POST" action="/file/" enctype="multipart/form-data" name="form">
选择文件: <input type="file" name="filename" /><br>
<input type="submit" value="上传">
</form>
urls.py
(r'^file/$','upload.views.upload_file'),
settings:
MEDIA_ROOT = 'c:/mm' 将上传的文件保存到c:/mm文件夹下
- django的上传文件(比较复杂的一种)
- Django的文件上传
- 文件上传组件的比较
- android一种较为复杂的布局参考(xml文件)
- android一种较为复杂的布局参考(xml文件)
- django的文件 图片上传(简单方法)
- Django实现任意文件上传(最简单的方法)
- Django下上传文件的问题
- Django的AJAX实现之文件上传
- Django的Ajax实现之文件上传
- Django 实现简单的文件上传
- django文件上传和下载的介绍
- Django之处理用户上传的文件
- Django 上传文件media的url处理
- Django文件上传遇到的问题
- 比较复杂的sql
- Android-一种复杂的进度条
- 比较复杂的导出Excel(1)!!!!!!!!!!
- 'utf8' codec can't decode bytes错误
- Django 分页的简单实现
- django的转义总结:escape,autoescape,safe,mark_safe
- django分页 所有问题处理结果...汗!搞了那么多天啊
- python 写的快速排序
- django的上传文件(比较复杂的一种)
- django配置apache model_python
- img1.51cto.com
- django的HttpResponseRedirect重定向 mysql保存文本的换行问题
- Visual Studio如何删除多余的空行
- Windows下PHP5和Apache的安装与配置
- django的文件 图片上传(简单方法)
- iops
- 如何高效阅读代码