Django-imagekit example ( Django-imagekit пример работы)

Posted by & filed under django, python.

Пример работы (делаем масштабирование картинки по ширине и высоте, но не превосходящее width_max, height_max): from django.db import models from django.forms.fields import CharField from imagekit.models import ImageSpec from imagekit.processors import resize, Adjust from django.forms import ModelForm, forms class FormatImage(object): def process(self, image): # масштабируем до width_max, height_max width_max=605 height_max=475 c=resize.Fit(width_max,height_max,True) image=c.process(image) return image class Photo(models.Model): original_image… Read more »

Django, ModelForm and upload file (Django, ModelForm и загрузка файла)

Posted by & filed under django, python.

Не очевидная для меня вещь с загрузкой файла и класса наследника ModelForm, нужно указать files=request.FILES Иначе появлялась ошибка This field is required. Хотя оно там было заполнено. рабочий пример: if request.POST: pcf=PhotoCandidateForm(request.POST,files=request.FILES) if pcf.is_valid(): pcf.save() message=’Data is saved. Thanks’ Сумбурно получилось, но так как пишу для себя, то должен сам себя понять

Django под Windows XP

Posted by & filed under python, windows.

Настраивать Django под Windows XP тот ещё секс, в общем проблема была в точности как http://victor-k-development.blogspot.com/2010/07/unicodedecodeerror-django.html Резюмирую: проблема UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe0 in position 0: ordinal not in range(128) Решение: В моем случае проблема заключалась в том, что в реестре в разделе[HKEY_CLASSES_ROOT\CLSID\{4063BE15-3B08-470D-A0D5-B37161CFFD69}\EnableFullPage\MIME] содержались подразделы содержащие в названии кириллицу. При удалении этих разделов они автоматически… Read more »

Проброска портов (Port forwarding)

Posted by & filed under Linux.

Проброска портов. Мое спасение от погружения в бездну iptables это rinetd. Всё просто, ставим из репозитория: sudo aptitude install rinetd Правим конфиг перенаправления /etc/rinetd.conf, пример: #откуда_ip откуда_port куда_ip куда_port 192.168.1.2 80 192.168.1.59 80 Пример 2, переводит все входящие соединения (и внутренние и внешние) на нужным нам ip 0.0.0.0 80 192.168.1.59 80 И рестартуем сервис: sudo /etc/init.d/rinetd… Read more »

Django, South, cоздание первой миграции

Posted by & filed under python.

Cоздание первой миграции в South: python ./manage.py schemamigration foo —initialpython ./manage.py migrate foo —fake После добавления нового поля в модель foo python ./manage.py schemamigration foo —auto

Screen + улучшения = tmux

Posted by & filed under Linux.

Tmux — тайловый мультиплесор терминалов. Возможности те что в screen + ещё куча фич, + более стабильная работа. Основное отличие: у screen горячие главиши привязаня на Ctrl+a, у tmux на Ctrl+b Хорошая статья по теме: http://www.xakep.ru/post/52156/ Список сессий: tmux ls Подключение к конкретной сессии: tmux attach -t 1 Переименование сессии: tmux rename-session -t 3 name_of_session… Read more »

Terminator + SSH = screen

Posted by & filed under Linux.

Проблема: сложности при создании нескольких тайловых окон для SSH Попытка1: пробывал Terminator но в отличии от локального использования при создании нового тайла приходилось пересоединяться по SSH Правильное решение: UNIX приложение screen Плюсы, которые важны для меня: 1)можно делать тайлы 2) при закрытии терминала сессия screen не закрывается(!), достаточно сново присоединиться по SSH и выполнить screen… Read more »

Django, South, миграция на боевой сервер

Posted by & filed under Articles.

Вообще-то всё должно быть банально просто: ./manage.py migrate myapp Но так как приложение уже было, то нужно было игнорировать первую миграцию, которая создает базу,а запустить вторую, которая делала обновления. В моем случае такое решение: ./manage.py migrate myapp 0001 —fake./manage.py migrate myapp 0002

Python, работа с письмами (SMTP) локально

Posted by & filed under python.

Для разработки встал вопрос, как протестировать работу отправки писем и при этом не отправлять тысячи писем, в python есть готовое решение python -m smtpd -n -c DebuggingServer localhost:1025 Запускаем в терминале, указываем хост и порт в своих скриптах и работает с тестовым почтовым сервером