2011-06-12 33 views
0

我想顯示默認的頭像,但是當我嘗試將其保存在數據庫文件中時,它將被複製爲新名稱。 如果文件已存在,如何防止更改文件名?當文件存在時阻止更改文件名

我的代碼: models.py

class UserAccount(User): 
    contacts = models.OneToOneField('self', null = True) 
    isBanned = models.BooleanField(_('ban status'), default = False, 
     help_text = _("Display is contact banned by user.")) 
    avatar = FileField(upload_to = 'avatars') 
    objects = UserManager() 

views.py

user = UserAccount.objects.get(username = user_login) 
user.first_name = request.POST['first_name'] 
user.last_name = request.POST['last_name'] 
user.email = request.POST['email'] 
try: 
    file = request.FILES['avatar'] 
    fileName = request.FILES['avatar'].name 
except: 
    fileName = 'static/avatars/default.gif' 
    file = File(open(fileName, 'r')) 
user.avatar.save(fileName, file) 
user.save() 
+0

解決方法:user.avatar ='avatars/default.gif' – 2011-06-12 21:53:06

+1

如果您解決了問題,請發佈解決方案並接受它。 StackOverflow鼓勵問題提供者解決他們自己的問題。 – 2011-06-13 12:16:55

回答

0

的解決之道在於事實,我沒有保存的化身,而只是挪用到默認的FileField路徑頭像。

try: 
    file = request.FILES['avatar'] 
    fileName = request.FILES['avatar'].name 
except: 
    user.avatar = 'avatars/default.gif' 
    flag = False 
if flag: 
    user.avatar.save(fileName, file) 
user.save()