Mongodb. Pymongo. Работа с mapReduce

Posted by & filed under python.

Хочу обратить внимание на различия в работе с mongodb напрямую и через pymongo. Работа с конcолью с mongodb: db.banners_shows.mapReduce(showMap,showReduce,{out:{reduce:’joined’},’query’:{‘options’:{‘$exists’:’true’}}}); где banners_shows — наша коллекция, showMap — map функция showReduce — reduce функция joined — коллекция куда выводится результат options — ключ который может существовать в полях нашей коллекции Сначала по аналогии делал так и для pymongo… Read more »

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 »

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

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

Posted by & filed under python.

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

new-line character seen in unquoted field — do you need to open the file in universal-newline mode?

Posted by & filed under python.

При работе с CSV файлом возникла такая ошибка: new-line character seen in unquoted field — do you need to open the file in universal-newline mode? Решение оказалось простым нужно было вместо «rb» написать «rU». Правильное чтение csv файла: import csv reader = csv.reader(open(«myfile.csv», «rU»),delimiter=’,’) for row in reader: print row

Djnago-CMS: Добавление nofollow ко всем внешним ссылкам

Posted by & filed under python.

Задача: Сделать добавление nofollow ко всем внешним ссылкам. Решение: Сделаем через middleware class NofollowLinkMiddleware(object): »’ Adds nofolow to external links»’ def __init__(self): self.extlinks = re.compile(r»'<a (?P[^>]*http.?://)»’) def process_response(self, request, response): if («text» in response[‘Content-Type’]): response.content = self.extlinks.sub(‘<a rel=»nofollow» g’,response.content) return response else: return response