如何解决文件存在时防止更改文件名
| 我想显示默认头像,但是当我尝试将其保存在数据库文件中时,它将使用新名称进行复制。 如果文件已经存在,如何防止文件名更改? 我的代码: models.pyclass 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()
解决方法
解决方案在于,我没有保存头像,而只是将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()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。