今天在做个网站的时候需要动态判断将Image保存的位置,前面我说了动态改变上传文件名的方法,即自定义上传的文件名。这里说的是更加上传文件来判断将文件保存的位置。
刚开始我使用了重写Model的save方法来改变ImageFiled的upload_to属性,结果没有反映。后来在google上小搜一下,方法就有了。如下:
定义ImageField或FileField的时候给upload_to知道一个函数,而这个函数就是用于返回保存文件的目录的,这个函数接受两个参数,第一个参数就是Model,第二个是文件的名字,就是你上传的文件名字。
实例:
这里的model.catalog.name和model.category.name是假设的model的大类和小类,而没有对文件名改变。
OK!