Форум сайта python.su
Вопрос по captcha. Ставлю сайт на python-django на платформу windows. Не отображается картинка captcha. Подозреваю, что дело где-то во freetype или gd. Что интересно каптча работает на windows 2000 server, без дополнительных настроек. Каптча не идёт на WinXP, Win2003Server, Win7. Ставлю на Py2.7, Django 1.3.1. Версии python и django менял, не помогает.
Офлайн
что значит не отображается - ошибка 404, 500? я лично с этим приложением не знаком, но как там с пропиской путей url?
Офлайн
Не отображается - на месте картинки и кривых букв красный крест и в свойствах картинки not aviable, как если не тот путь к картинке указан. На windows 2000 заработало сразу. На линуксе был один момент, когда не отображалась картинка, доустановил поддержку gd и заработало
Отредактировано bolta (Июнь 5, 2013 14:42:09)
Офлайн
Откройте картинку в отдельной вкладке и увидите django traceback
Офлайн
На новой вкладке открыть не даёт, неактивна, а в свойствах такое captcha/image/217a19df27aae6074214276cec79e3cfe548657a/. Картинка в памяти формируется, но думаю что-то блокирует этот путь.
Офлайн
TypeError at /captcha/image/8c4ce0976a3895b3170bb0877f6d9447307e9714/
an integer is required
Request Method: GET
Request URL: http://10.10.10.42:8000/captcha/image/8c4ce0976a3895b3170bb0877f6d9447307e9714/
Django Version: 1.3.1
Exception Type: TypeError
Exception Value: an integer is required
Exception Location: C:\Python27\lib\site-packages\PIL\Image.py in _getencoder, line 399
Python Executable: C:\Python27\python.exe
Python Version: 2.7.3
Traceback:
File “C:\Python27\lib\site-packages\django\core\handlers\base.py” in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File “C:\Python27\lib\site-packages\django_simple_captcha-0.3.0-py2.7.egg\captcha\views.py” in captcha_image
71. image.save(out,“PNG”)
File “C:\Python27\lib\site-packages\PIL\Image.py” in save
1439. save_handler(self, fp, filename)
File “C:\Python27\lib\site-packages\PIL\PngImagePlugin.py” in _save
572. ImageFile._save(im, _idat(fp, chunk), )
File “C:\Python27\lib\site-packages\PIL\ImageFile.py” in _save
481. e = Image._getencoder(im.mode, e, a, im.encoderconfig)
File “C:\Python27\lib\site-packages\PIL\Image.py” in _getencoder
399. return apply(encoder, (mode,) + args + extra)
Exception Type: TypeError at /captcha/image/8c4ce0976a3895b3170bb0877f6d9447307e9714/
Exception Value: an integer is required
Офлайн
Выше для Win2003server, на WinXP выдаёт другое. На двух системах немного разные модули установлены, но основной сайт работает, каптча не работает.
Traceback:
File “C:\Python27\lib\site-packages\django\core\handlers\base.py” in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File “C:\Python27\lib\site-packages\django_simple_captcha-0.3.8-py2.7.egg\captcha\views.py” in captcha_image
33. font = ImageFont.truetype(settings.CAPTCHA_FONT_PATH, settings.CAPTCHA_FONT_SIZE)
File “C:\Python27\lib\site-packages\PIL\ImageFont.py” in truetype
218. return FreeTypeFont(filename, size, index, encoding)
File “C:\Python27\lib\site-packages\PIL\ImageFont.py” in __init__
134. self.font = core.getfont(file, size, index, encoding)
File “C:\Python27\lib\site-packages\PIL\ImageFont.py” in __getattr__
34. raise ImportError(“The _imagingft C module is not installed”)
Exception Type: ImportError at /captcha/image/d97e049b0aa3333b98c574dc181c491829c9aa70/
Exception Value: The _imagingft C module is not installed
Офлайн
Гуглите этот запрос “The _imagingft C module is not installed”
Офлайн
Частичное решение нашёл, когда устанавливаю Pillow-2.1.0.win32-py2.7.exe работает captcha,
но не работает отображение картинок кое-где
Caught IOError while rendering: cannot identify image file
Если установлен PIL-1.1.7.win32-py2.7.exe - captcha не работает картинки работают
Офлайн