Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 12, 2007 21:39:06

teorema
От:
Зарегистрирован: 2007-02-12
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

передать значения переменных

Вообщем проблема такая: имеется модуль в котором происходять всякие математические вычисления (численные - итерационные), после вычислений получаю два списка со значениями, потом формирую год HTML и вывожу результаты расчетов в виде таблицы на страничку пользователя. Потом мне необходимо сгенерировать два рисунка, содержищих графики (значения из этих списков соединяются ломаной линией). Вообщем не охота создавать временные файлы рисунков, т.е. генерировать их этим же модулем, сохранять на диск, а потом использовать <IMG SRC=“image.py”>. Т.е надо передать значения списков (данные для точек) в модуль который генерирует рисунки. Помогите пожалуйста.



Офлайн

#2 Фев. 12, 2007 23:12:04

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

передать значения переменных

Сохрани данные в сессии пользователя, например, и при обращении к скрипту кот генерит картинку он возьмет данные из сесси и отресует их.

teorema
потом формирую год HTML и вывожу результаты
Я б столько не выдержал ждать :D



Офлайн

#3 Фев. 13, 2007 08:38:26

teorema
От:
Зарегистрирован: 2007-02-12
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

передать значения переменных

slivlen
Сохрани данные в сессии пользователя, например, и при обращении к скрипту кот генерит картинку он возьмет данные из сесси и отресует их.
Если бы это было на PHP, то проблемы даже не возникло бы, при помощи сесии я бы и сделала. Но как воспользоваться сесией на Питоне, если я использую его как CGI?



Офлайн

#4 Фев. 13, 2007 10:05:07

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

передать значения переменных

teorema
Если бы это было на PHP, то проблемы даже не возникло бы
Если использовала бы django или TG, то тоже проблем не было бы :)
teorema
Но как воспользоваться сесией на Питоне, если я использую его как CGI?
У меня была похожая проблема и я ее решил создав подобие сессии:
1) В основном скрипте подготавливаются данные для скрипта, отрисовывающего картинку, и генерируется случайная строка(фактически id сессии).
2) Данные для картинки записываются в базу под сгенерированным выше id.
3) Затем, когда генерируется html страница этот id передается через GET(<img src=“picture.py?id=123qwe”>) скрипту отрисовывающему картинку
4) Скрипт генерирующий картинку получает соответствующий id и по нему тянет инфу из базы.
Вообщем примерно так. Можно еще и немного подругому: id сессии положить в куки, а данные для картинки хранить в файле название которого совпадает с id. Файлы, конечно, должны хранится в каталоге не доступном чере web.



Офлайн

#5 Фев. 15, 2007 20:15:54

teorema
От:
Зарегистрирован: 2007-02-12
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

передать значения переменных

slivlen
Скрипт генерирующий картинку получает соответствующий id и по нему тянет инфу из базы.
Спасибо за идею с базой! :)
Хранить данные в файле, мне кажется, что это тоже самое, что создавать временные файлы картинок, тем более я пока использую библиотеку ChartDirector, а туда входит скрипт для создания временного файла картинки с временем жизни. Но наверное буду использовать библиотеку SciPy для расчетов и соответсвенно matplotlib для построения графиков.
А если использовать mod_python для Apache, то можно использовать сесии?
И еще я не поняла какой принцип работы mod_python?



Офлайн

#6 Фев. 15, 2007 22:10:49

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

передать значения переменных

teorema
А если использовать mod_python для Apache, то можно использовать сесии?
Ага. http://www.modpython.org/live/current/doc-html/pyapi-sess.html
teorema
И еще я не поняла какой принцип работы mod_python?
http://www.modpython.org/python10/
http://www.modpython.org/live/current/doc-html/



Офлайн

#7 Фев. 16, 2007 11:41:56

redixin
От:
Зарегистрирован: 2006-11-27
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

передать значения переменных

teorema
Хранить данные в файле, мне кажется, что это тоже самое, что создавать временные файлы картинок
откуда такое желание хранить все в базе? разве файлы не для того придумали чтобы хранить в них инфу?

teorema
тем более я пока использую библиотеку ChartDirector, а туда входит скрипт для создания временного файла картинки с временем жизни.
вот этот скрипт и есть лучшее решение. в данном случае файл это самое оно, темболее что уже есть готовый скрипт
сохранить ПНГшку весом в 3кила это нааамного проще для сервера (и для всех остальных) чем гонять туда-сюда записи по таблицам



Офлайн

#8 Фев. 16, 2007 12:02:18

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

передать значения переменных

redixin
откуда такое желание хранить все в базе? разве файлы не для того придумали чтобы хранить в них инфу?
Если сайт будет работать под большой нагрузкой и требуется маштабируемость, то хранение данных(например сессионых) в обычных файлах становится большой проблемой.



Офлайн

#9 Фев. 16, 2007 12:09:44

redixin
От:
Зарегистрирован: 2006-11-27
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

передать значения переменных

slivlen
Если сайт будет работать под большой нагрузкой и требуется маштабируемость, то хранение данных(например сессионых) в обычных файлах становится большой проблемой.
тру, но в данном случае картинку всеравно придется сгенерить, и лучше ее сгенерить сразу, чем напрягать базу и в итоге всеравно таки ее сгенерить. тоесть в данном случае база это лишние телодвижения для сервера (и программера), без которых можно (нужно) обойтись



Офлайн

#10 Фев. 16, 2007 12:28:07

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

передать значения переменных

redixin
тру, но в данном случае картинку всеравно придется сгенерить, и лучше ее сгенерить сразу, чем напрягать базу и в итоге всеравно таки ее сгенерить. тоесть в данном случае база это лишние телодвижения для сервера (и программера), без которых можно (нужно) обойтись
В большинстве случаев это совершенно верно. Проблема встанет только если для хранения временных файлов будет использоваться несколько серверов, тогда действительно легче будет использовать бд и кластеризацию.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version