import Image
baseim = Image.open(“original.png”)
logoim = Image.open(“logo.png”) #transparent image
baseim.paste(logoim,(baseim.size[0]-logoim.size[0],baseim.size[1]-logoim.size[1]),logoim)
baseim.save(‘new.png’,‘PNG’)
Important thing is the 3rd argument of the paste function. You can specify your
PNG as alpha also so that you avoid black background.
![](http://blog.objectgraph.com/wp-content/uploads/2009/03/pil-03312009-original.png)
here is the original image
![](http://blog.objectgraph.com/wp-content/uploads/2009/03/pil-03312009-logo.png)
and this is the logo
![](http://blog.objectgraph.com/wp-content/uploads/2009/03/pil-03312009-new.png)
then this is the image after watermarking
Источник
На многих блогах и новостных сайтах для удержания внимания аудитории используются такие приёмы, как рейтинг популярных за неделю статей, похожие публикации, а у некоторых крупных ресурсов ещё и рекомендации по предпочтениям пользователей.
Первое, что было решено сделать - это вывод списка популярных статей. Первый вариант популярных статей был основан на общем счётчике просмотров и в итоге выводил статьи с самым большим количество просмотров. Это в целом плохой вариант, поскольку в ТОПе в итоге окажутся статьи просто набравшие самое большое количество просмотров за всё время.
Следовательно нужно было что-то менять. В результате был внедрен вывод популярных статей за последние 7 дней в самом простом варианте. То есть, добавлена была таблица в которую вносится количество просмотров статей по дням. Конечно, точность подсчётов при большой нагрузке может очень сильно варьироваться, но пока посещаемость не достигла 5000 - 10000 уникальных посетителей в сутки - это не настолько важно.
А теперь давайте разберём пример того, как сделать такой список популярных статей средствами Django.
Статья впервые появилась на EVILEG - Практическое программирование
Продолжая разработку сайта, хочу поделиться примером кода по добавлению контактной формы на сайте на Django. Уже были статьи с различными формами, например, для добавления комментариев, но раз говорим обо всём процессе в целом, то и не будем обходить и эту тему стороной.
Тем более, что для сайта на Wordpress это было для меня больной темой. Наверное, всему виной была лень, ибо у меня так и не возникло желания начать разбираться с PHP, чтобы набросать контактную форму самостоятельно (в итоге был задействован очередной плагин).
А если учесть, что разработка на Django, предполагает достаточно частую работу с различными формами данных и при этом имеется модуль для работы с почтовыми сервисами, то и добавление подобной формы не представляет особого труда.
Статья впервые появилась на EVILEG - Практическое программирование