今天在做个网站的时候需要动态判断将Image保存的位置,前面我说了动态改变上传文件名的方法,即自定义上传的文件名。这里说的是更加上传文件来判断将文件保存的位置。
刚开始我使用了重写Model的save方法来改变ImageFiled的upload_to属性,结果没有反映。后来在google上小搜一下,方法就有了。如下:
定义ImageField或FileField的时候给upload_to知道一个函数,而这个函数就是用于返回保存文件的目录的,这个函数接受两个参数,第一个参数就是Model,第二个是文件的名字,就是你上传的文件名字。
实例:
def get_file_path(model, filename): return 'upload/photo/%s/%s/%s' % (model.catalog.name, model.category.name, filename)
这里的model.catalog.name和model.category.name是假设的model的大类和小类,而没有对文件名改变。
OK!
本文介绍了一种通过Python Django框架中的ImageField或FileField实现动态指定文件保存路径的方法。该方法利用了一个自定义函数来确定上传文件的具体存放位置。
5777

被折叠的 条评论
为什么被折叠?



