Позвольте мне просто повторить проблему, описанную @Steg
. У меня была аналогичная проблема с вашей. Я выполняю запрос ajax, который имеет 2 возможных ответа: один, который перенаправляет браузер на новую страницу и заменяет существующую HTML-форму на текущей странице новым.
blockquote>ИМХО это является реальной проблемой и должен быть официально распространен на существующие HTTP-стандарты.
Я считаю, что новым стандартом Http будет использоваться новый код состояния. значение: в настоящее время
301/302
сообщает браузеру перейти и получить содержимое этого запроса к новомуlocation
.В расширенном стандарте он скажет, что если ответ
status: 308
(просто пример), браузер должен перенаправить главную страницу на предоставленнуюlocation
.Это сказано; Я склонен уже имитировать это поведение future , и поэтому, когда необходим document.redirect, я отвечаю на сервер как:
status: 204 No Content x-status: 308 Document Redirect x-location: /login.html
Когда JS получает "
status: 204
", он проверяет существование заголовкаx-status: 308
и делает document.redirect на странице, представленной в заголовкеlocation
.Это имеет для вас какое-то значение?
Если Вы имеете numpy
и scipy
доступный (и если бы Вы управляете большими массивами в Python, я рекомендовал бы им), то scipy.misc.pilutil.toimage
функция очень удобна. Простой пример:
import numpy as np
import scipy.misc as smp
# Create a 1024x1024x3 array of 8 bit unsigned integers
data = np.zeros( (1024,1024,3), dtype=np.uint8 )
data[512,512] = [254,0,0] # Makes the middle pixel red
data[512,513] = [0,0,255] # Makes the next pixel blue
img = smp.toimage( data ) # Create a PIL image
img.show() # View in default viewer
хорошая вещь toimage
, справляется с различными типами данных очень хорошо, таким образом, 2D массив чисел с плавающей запятой разумно преобразовывается в шкалу полутонов и т.д.
, можно загрузить numpy
и scipy
от здесь . Или использование зернышка:
pip install numpy scipy
import Image
im= Image.new('RGB', (1024, 1024))
im.putdata([(255,0,0), (0,255,0), (0,0,255)])
im.save('test.png')
Помещает красный, зелено-синий пиксель в верхнее левое из изображения.
im.fromstring()
быстрее все еще, если Вы предпочитаете иметь дело со значениями байта.
Я думаю, что Вы используете PIL для генерации файла изображения на диске, и Вы позже загружаете его программным обеспечением читателя изображения.
необходимо получить маленькое улучшение скорости путем рендеринга непосредственно изображения в памяти (Вы сохраните стоимость записи изображения на диске и затем перезагрузке его). Взгляните на этот поток https://stackoverflow.com/questions/326300/python-best-library-for-drawing для того, как представить то изображение с различными модулями Python.
я лично попробовал бы wxpython и dc. Функция DrawBitmap. При использовании такого модуля, а не внешнего читателя изображения, Вы будете обладать многими преимуществами: