Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » как сохранить файл на диске на сервере? [RSS Feed]

#1 Ноя. 15, 2010 07:49:23

frizz
От:
Зарегистрирован: 2010-10-24
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как сохранить файл на диске на сервере?

Подскажите - как закачать файл на сервер?
на html форме пишу:

<form action="/blog/izz/" method="post"  enctype="multipart/form-data" style="width: 777px" input type="submit"   >
<p style="width: 762px; height: 159px"><input id="File1" type="file" name="avatarfile" /></p>
<input type="submit" value="send" alt="send" name="send" style="width: 90px" title="send">
</form>
в viev.py незнаю что писать. понимаю, что нужно как то перехватывать post и сохранять данные на диск. но не могу реализовать.
я облазил уже все интернеты, прошел сто дорог, но не ничего толкового не нашел.
если не трудно - напишите пожалуйста код.
if request.method == 'POST':   
первая попытка:
file = request.FILES['avatarfile']
avatar1=Avatar(
user=request.user,
avatarfile=file)
avatar1.save()

вторая попытка:
fd = open('%s/%s' % (MEDIA_ROOT, 'trust.jpg'), 'wb')
fd.write(request.FILES['avatarfile'])
fd.close()
второй вариант создает файл “trust.jpg”. но он пустой (0 кб).



Офлайн

#2 Ноя. 15, 2010 08:06:53

sv0
От:
Зарегистрирован: 2009-03-04
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

как сохранить файл на диске на сервере?

Попробуйте здесь посмотреть/почитать:
http://docs.djangoproject.com/en/dev/topics/http/file-uploads/

html-форма какая-то странная. django.forms попробуйте:
http://docs.djangoproject.com/en/dev/topics/forms/



Офлайн

#3 Ноя. 15, 2010 08:38:25

frizz
От:
Зарегистрирован: 2010-10-24
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как сохранить файл на диске на сервере?

с этим разобрался:

  file = request.FILES['avatarfile']
#filename = file['filename']

fd = open('%s/%s' % (MEDIA_ROOT,request.FILES['filename']), 'wb')
fd.write(file.read())
fd.close()
теперь осталось получить имя файла. filename = file не работает.



Офлайн

#4 Ноя. 15, 2010 08:47:38

frizz
От:
Зарегистрирован: 2010-10-24
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как сохранить файл на диске на сервере?

sv0
Попробуйте здесь посмотреть/почитать:
это я читал.
sv0
html-форма какая-то странная. django.forms попробуйте:
мне по проще нужно было, вот я и сделал.



Офлайн

#5 Ноя. 15, 2010 10:55:21

frizz
От:
Зарегистрирован: 2010-10-24
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как сохранить файл на диске на сервере?

получить имя файла :

filename = request.FILES.name



Офлайн

  • Начало
  • » Django
  • » как сохранить файл на диске на сервере?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version