django filefield实现动态改变文件上传位置upload_to
2015-10-08 12:13
579 查看
起因:
现在我有两个文件夹pro1和pro2,
pro1下面有0.mp4,1.mp4,pro2下面有0.mp4和1.mp4,我用django的
video = models.FileField(upload_to = 'myvideo')
虽然可以将视频都上传到myvideo目录下面,但是myvideo下面的文件是:
0. mp4,0_2.mp4,1.mp4,1_2.mp4了,因为出现一样的名字,django自动做了转换。
我希望能够直接在myvideo下面上传得到pro1和pro2两个文件夹,然后两个文件夹中
分别包含各自的0.mp4,1.mp4。
过程:
起初是参考了这篇文章:http://oteam.cn/2008/10/4/dynamic-upload-paths-in-django/
然后我想到的方法,就是添加一个name字段用于作为视频文件的父目录,即用来填写pro1,pro2,。。。。
然后将upload_to固定的字符串改变为一个返回上传文件位置的函数,在这个函数中取获取之前的name字段,并添加到upload/下面这样就形成了动态目录
代码如下:
大功告成,哈哈
现在我有两个文件夹pro1和pro2,
pro1下面有0.mp4,1.mp4,pro2下面有0.mp4和1.mp4,我用django的
video = models.FileField(upload_to = 'myvideo')
虽然可以将视频都上传到myvideo目录下面,但是myvideo下面的文件是:
0. mp4,0_2.mp4,1.mp4,1_2.mp4了,因为出现一样的名字,django自动做了转换。
我希望能够直接在myvideo下面上传得到pro1和pro2两个文件夹,然后两个文件夹中
分别包含各自的0.mp4,1.mp4。
过程:
起初是参考了这篇文章:http://oteam.cn/2008/10/4/dynamic-upload-paths-in-django/
然后我想到的方法,就是添加一个name字段用于作为视频文件的父目录,即用来填写pro1,pro2,。。。。
然后将upload_to固定的字符串改变为一个返回上传文件位置的函数,在这个函数中取获取之前的name字段,并添加到upload/下面这样就形成了动态目录
代码如下:
def get_photo_path(instance, filename): productionName = instance.name print productionName , " " , filename return 'operatevideo/%s/%s' % (productionName , filename) class Videos(models.Model): name = models.CharField(unique=True,max_length = 255) independent_video = models.FileField(upload_to = get_photo_path) simulated_video = models.FileField(upload_to = get_photo_path ,validators) class Meta: db_table = 'videos'
大功告成,哈哈
相关文章推荐
- ASP实现文件上传的方法
- .net文件上传时实现通过文件头确认文件类型的方法
- asp.net 文件上传与刷新与asp.net页面与iframe之间的数据传输
- ASP的chr(0)文件上传漏洞原理和解决方法介绍
- asp.net上传文件到数据库的解决方案
- javascript实现校验文件上传控件实例
- ajax 异步上传带进度条视频并提取缩略图
- jQuery实现文件上传进度条特效
- 分享20多个很棒的jQuery 文件上传插件或教程
- django中使用jquery ajax post数据出现403错误的解决办法(两种方法)
- django使用ajax post数据出现403错误如何解决
- js jquery分别实现动态的文件上传操作按钮的添加和删除
- asp.net HTML文件上传标签
- PHP中文件上传的一个问题
- 与文件上传有关的php配置参数总结
- Serv-U中禁止某类文件上传的设置方法
- PHP 文件编程综合案例-文件上传的实现
- 在服务端进行目录建立、删除,文件上传、删除的过程的php代码
- jsp中点击图片弹出文件上传界面及预览功能的实现
- php文件上传表单摘自drupal的代码