Запретить изменение имени файла, когда файл существует - PullRequest
0 голосов
/ 13 июня 2011

Я хочу отобразить аватар по умолчанию, но когда я пытаюсь сохранить его в файле базы данных, он копируется с новым именем. Как я могу предотвратить изменение имени файла, если файл уже существует?

Мой код: 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()

1 Ответ

0 голосов
/ 13 июня 2011

Решение заключается в том, что я не сохранил аватар, а просто назначил путь 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...