2013-07-02 38 views
0

我的用例希望如果用户没有上传图像,我会从管理员创建的图像池中随机选择一个图像。Django图像文件上传默认为随机图像

该图像池包含管理员使用django-admin上传的图像池。

我尝试了一些方法,如重命名文件并由管理员上传;并从这些名称中随机选择。但是这些名字是硬编码的。所以它不是一个可扩展的想法。

有关如何完成的任何建议。

我宁愿如果不使用它的自定义应用程序。

+0

为什么不列出图像admin目录的所有图像文件(os.listdir()),然后选择其中之一,然后复制一个文件选用? – sergzach

回答

0

这个想法。

import os 
import os.path 
from random import choice 
from shutil import copy_file 

... 
filename_list = os.listdir(ADMIN_DIR) 
filename_to_copy = choice(filename_list) 
file_to_copy = os.path.join(ADMIN_DIR, filename_to_copy) # it contains a file to copy 
# 'change_filename' is a function that changes a file name for a result file. You should implement it. 
new_file = os.path.join(DEST_DIR, change_filename(filename_to_copy)) 
# then copy this file to a destination dir. 
copyfile(file_to_copy, new_file)