Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Загрузка изображений в jquery редакторе [RSS Feed]

#1 Янв. 6, 2011 10:04:13

Antonio051
От:
Зарегистрирован: 2011-01-06
Сообщения: 31
Репутация: +  1  -
Профиль   Отправить e-mail  

Загрузка изображений в jquery редакторе

<?php
// директория хранения файлов
$dir = '/home/web/sitecom/redactor/images/';

if (!empty($_FILES['file']['name']))
{
// даем файлу загадочное имя
$file = md5(date('YmdHis')).'.jpg';

// копируем файл
copy($_FILES['file']['tmp_name'], $dir.$file);


// отображаем файл
echo 'http://damain_name/images/'.$file;
}

?>
Помогите реализовать на Python'е



Отредактировано (Янв. 6, 2011 10:04:50)

Офлайн

#2 Янв. 6, 2011 10:09:06

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Загрузка изображений в jquery редакторе

Antonio051, какой фреймворк или технологию используете для веба?



Офлайн

#3 Янв. 6, 2011 10:09:59

Antonio051
От:
Зарегистрирован: 2011-01-06
Сообщения: 31
Репутация: +  1  -
Профиль   Отправить e-mail  

Загрузка изображений в jquery редакторе

Вэб. Django



Офлайн

#4 Янв. 6, 2011 10:19:17

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Загрузка изображений в jquery редакторе

Офлайн

#5 Янв. 6, 2011 11:31:57

Antonio051
От:
Зарегистрирован: 2011-01-06
Сообщения: 31
Репутация: +  1  -
Профиль   Отправить e-mail  

Загрузка изображений в jquery редакторе

В общем в админке django вместо textarea прикрепил данный редактор.
Там есть загрузка изображений. В документации к редактору дали пример скрипта загрузки изображения, на php естесно. На php получилось у меня сделать.
Опыта на Python'e мало и не понимаю как использовать request.FILES

Сделал так:
upload.py

from shutil import copyfile
import settings

dir_images = settings.ROOT_PATH + '/static/images/upload/'

upload_file='sdasdasdasdsd.jpg'
copyfile(request.FILES['file'], dir_images+upload_file)
print '/static/images/upload/'+upload_file
по идеи в редакторе должно появиться строка:
<img alt=“” src=“/static/images/upload/sdasdasdasdsd.jpg”>

вместо этого появляется:
<img alt=“” src=“%3Cpre%3E%3C/pre%3E”>


Лог:
“POST /static/js/redactor/upload.py HTTP/1.1” 200 0
“GET /admin/news/news/5/%3Cpre%3E%3C/pre%3E HTTP/1.1” 301 0
“GET /admin/news/news/5/%3Cpre%3E%3C/pre%3E/ HTTP/1.1” 404 1857



Офлайн

#6 Янв. 6, 2011 12:53:51

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Загрузка изображений в jquery редакторе

Antonio051
вместо этого появляется:
<img alt=“” src=“%3Cpre%3E%3C/pre%3E”>
http://docs.python.org/library/urllib.html#urllib.unquote

P.S.
Для django есть готовое решение на базе TinyMCE, вполне юзабельное, и там есть уже готовая загрузка файлоа.



Офлайн

#7 Янв. 13, 2011 07:15:18

Antonio051
От:
Зарегистрирован: 2011-01-06
Сообщения: 31
Репутация: +  1  -
Профиль   Отправить e-mail  

Загрузка изображений в jquery редакторе

upload.php:

<?php
// отображаем файл
echo 'http://damain_name/images/'.$file;
?>
В данном случае в firebug'e видно, что сервер возвращает содержимое echo

upload.py:
    // отображаем файл
print 'http://damain_name/images/' +upload_file
а на питоне, сервер ничего не возвращает.
В этом и проблема, нужно чтоб сервер вернул путь к картинке



Отредактировано (Янв. 13, 2011 07:31:04)

Офлайн

#8 Янв. 13, 2011 09:36:13

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Загрузка изображений в jquery редакторе

Antonio051, print в Python это совсем не то, что echo в PHP… Если используете Django, вам нужно написать вьюху, которая будет возвращать HttpResponse с вашей строкой.



Отредактировано (Янв. 13, 2011 09:36:25)

Офлайн

  • Начало
  • » Django
  • » Загрузка изображений в jquery редакторе[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version