<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии: Python, Django: Автоматический ресайз загружаемых изображений</title>
	<atom:link href="http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/</link>
	<description>Статьи по SEO, дизайну и программированию. Переводы на веб-тематику. Исследования и наработки в области интернет-технологий.</description>
	<lastBuildDate>Fri, 03 Feb 2012 14:59:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Автор: Gordio</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-116865</link>
		<dc:creator>Gordio</dc:creator>
		<pubDate>Fri, 04 Nov 2011 00:22:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-116865</guid>
		<description>Предпочитаю и вам рекомендую попробовать https://github.com/SmileyChris/easy-thumbnails , в нем и загружаемый файл можно подготовить и тумбочки в кеш складывать.</description>
		<content:encoded><![CDATA[<p>Предпочитаю и вам рекомендую попробовать <a href="https://github.com/SmileyChris/easy-thumbnails" rel="nofollow">https://github.com/SmileyChris/easy-thumbnails</a> , в нем и загружаемый файл можно подготовить и тумбочки в кеш складывать.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: trilby</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-17483</link>
		<dc:creator>trilby</dc:creator>
		<pubDate>Wed, 10 Feb 2010 07:40:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-17483</guid>
		<description>Skaizer: ну как, не нашли способ ресайзить оригинальную загруженную картинку до приемлемых размеров? то, что я ищу :)</description>
		<content:encoded><![CDATA[<p>Skaizer: ну как, не нашли способ ресайзить оригинальную загруженную картинку до приемлемых размеров? то, что я ищу <img src='http://www.codeisart.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Skaizer</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-11973</link>
		<dc:creator>Skaizer</dc:creator>
		<pubDate>Sat, 05 Sep 2009 10:52:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-11973</guid>
		<description>Спасибо за метод, интересно! Я все-таки стал использовать &lt;a rel=&quot;nofollow&quot; href=&quot;http://code.google.com/p/sorl-thumbnail/&quot; style=&quot;text-decoration: line-through;&quot; rel=&quot;nofollow&quot;&gt;code.google.com/p/sorl-thumbnail/&lt;/a&gt; для своих проектов, возможности библиотеки очень богатые. К сожалению, где-то приходится подпиливать своими патчами, но в целом она умеет все, что мне нужно при работе с изображениями и превьюшками.</description>
		<content:encoded><![CDATA[<p>Спасибо за метод, интересно! Я все-таки стал использовать <a rel="nofollow" href="http://code.google.com/p/sorl-thumbnail/" style="text-decoration: line-through;" rel="nofollow">code.google.com/p/sorl-thumbnail/</a> для своих проектов, возможности библиотеки очень богатые. К сожалению, где-то приходится подпиливать своими патчами, но в целом она умеет все, что мне нужно при работе с изображениями и превьюшками.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Никита</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-11860</link>
		<dc:creator>Никита</dc:creator>
		<pubDate>Thu, 03 Sep 2009 15:05:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-11860</guid>
		<description>&lt;p&gt;Я использую немного другой подход, хотя, что-то подобное тоже писал давно:&lt;/p&gt;
&lt;p&gt;Собственно, в модели есть картинка, одна основная (абстрактная, &lt;code&gt;get_thumbnail_url&lt;/code&gt;) функция создания тумбочек и несколько используемых (&lt;code&gt;get_small&lt;/code&gt;, &lt;code&gt;get_big&lt;/code&gt;, ...) на сайте.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;get_thumbnail_url&lt;/code&gt; проверяет есть ли изображение, потом проверяет есть ли тумбочка, если нет, то строит путь &lt;code&gt;os.makedirs&lt;/code&gt; и создает уменьшенную копию, возвращает путь.&lt;/p&gt;
&lt;p&gt;Кстати, для уменьшения использую стандартную функция &lt;code class=&quot;python&quot;&gt;image.thumbnail((width,height), ANTIALIAS)&lt;/code&gt;, где один из параметров может быть &lt;code&gt;*&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;python&quot;&gt;
class Photo(models.Model):
   adv = models.ForeignKey(Adv, verbose_name=u&quot;объявление&quot;)
   photo = models.ImageField(verbose_name=u&quot;фото&quot;,  upload_to=u&quot;photos/%Y/%m/%d&quot;)
   
   def get_thumbnail_url(self, width, height):
      &quot;&quot;&quot;Возвращает URL уменьшенной копии фотографии&quot;&quot;&quot;
      if not os.path.exists(self.photo.path):  return None
      thumb_url = None
      photo = str(self.photo)
      full_path_to_file = &quot;%s/%s&quot; % (MEDIA_ROOT, photo)
      filename = self.photo.path[self.photo.path.rfind(&quot;/&quot;)+1:]
      upload_to = self.photo.path.replace(MEDIA_ROOT+&quot;/&quot;, &quot;&quot;).replace(&quot;/&quot;+filename,&quot;&quot;)
      path_to_thumbnail_dir = &quot;%s/thumbnails/%s/%sx%s&quot; % (MEDIA_ROOT, upload_to, str(width), str(height))
      if not os.path.exists(path_to_thumbnail_dir): os.makedirs(path_to_thumbnail_dir)
      path_to_thumbnail = &quot;%s/%s&quot; % (path_to_thumbnail_dir, filename)
      if not os.path.exists(path_to_thumbnail):
         try:
            image = open_image(self.photo.path)
            image.thumbnail((width,height), ANTIALIAS)
            image.save(path_to_thumbnail, image.format, quality=95)
         except:
            return None
      return &quot;%sthumbnails/%s/%sx%s/%s&quot; % (MEDIA_URL, upload_to, str(width), str(height), filename)

   def get_small(self):
      if not self.get_thumbnail_url(100, 75):
         return &quot;%simages/no-photo.jpg&quot; % MEDIA_URL
      return self.get_thumbnail_url(100, 75)
   
   def get_medium(self):
      return self.get_thumbnail_url(180, &quot;*&quot;)
   
   def get_big(self):
      return self.get_thumbnail_url(400, &quot;*&quot;)&lt;/code&gt;&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Я использую немного другой подход, хотя, что-то подобное тоже писал давно:</p>
<p>Собственно, в модели есть картинка, одна основная (абстрактная, <code>get_thumbnail_url</code>) функция создания тумбочек и несколько используемых (<code>get_small</code>, <code>get_big</code>, &#8230;) на сайте.</p>
<p><code>get_thumbnail_url</code> проверяет есть ли изображение, потом проверяет есть ли тумбочка, если нет, то строит путь <code>os.makedirs</code> и создает уменьшенную копию, возвращает путь.</p>
<p>Кстати, для уменьшения использую стандартную функция <code class="python">image.thumbnail((width,height), ANTIALIAS)</code>, где один из параметров может быть <code>*</code>.</p>
<pre><code class="python">
class Photo(models.Model):
   adv = models.ForeignKey(Adv, verbose_name=u"объявление")
   photo = models.ImageField(verbose_name=u"фото",  upload_to=u"photos/%Y/%m/%d")

   def get_thumbnail_url(self, width, height):
      """Возвращает URL уменьшенной копии фотографии"""
      if not os.path.exists(self.photo.path):  return None
      thumb_url = None
      photo = str(self.photo)
      full_path_to_file = "%s/%s" % (MEDIA_ROOT, photo)
      filename = self.photo.path[self.photo.path.rfind("/")+1:]
      upload_to = self.photo.path.replace(MEDIA_ROOT+"/", "").replace("/"+filename,"")
      path_to_thumbnail_dir = "%s/thumbnails/%s/%sx%s" % (MEDIA_ROOT, upload_to, str(width), str(height))
      if not os.path.exists(path_to_thumbnail_dir): os.makedirs(path_to_thumbnail_dir)
      path_to_thumbnail = "%s/%s" % (path_to_thumbnail_dir, filename)
      if not os.path.exists(path_to_thumbnail):
         try:
            image = open_image(self.photo.path)
            image.thumbnail((width,height), ANTIALIAS)
            image.save(path_to_thumbnail, image.format, quality=95)
         except:
            return None
      return "%sthumbnails/%s/%sx%s/%s" % (MEDIA_URL, upload_to, str(width), str(height), filename)

   def get_small(self):
      if not self.get_thumbnail_url(100, 75):
         return "%simages/no-photo.jpg" % MEDIA_URL
      return self.get_thumbnail_url(100, 75)

   def get_medium(self):
      return self.get_thumbnail_url(180, "*")

   def get_big(self):
      return self.get_thumbnail_url(400, "*")</code></pre>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Skaizer</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-7452</link>
		<dc:creator>Skaizer</dc:creator>
		<pubDate>Thu, 07 May 2009 10:53:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-7452</guid>
		<description>&lt;p&gt;Попробовал для ресайзов использовать sorl-thumbnail (&lt;a href=&quot;http://code.google.com/p/sorl-thumbnail/&quot; rel=&quot;nofollow&quot;&gt;code.google.com/p/sorl-thumbnail/&lt;/a&gt;), действительно мощный модуль, но возникли вопросы:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Можно ли использовать ресайз изображений sorl-thumbnail на уровне загрузки файла изображения. Т.е. я понимаю, что sorl-thumbnail создаст ресайз при первой попытке открыть миниатюру, но мне бы так же хотелось ресайзить оригинальное изображение, например до некоторого максимального значения, определенного в настройках системы. Чтобы не хранить 5,6,7 и т.д. мегапиксельные фото, я хочу хранить оригинал, например в разрешении не превышающем &lt;i&gt;1600х1200&lt;/i&gt;, а из него потом делать различные сумбнейлы. На данный момент я произвожу этот ресайз своими средствами, возможно это можно организовать через sorl-thumbnail ?&lt;/li&gt;
&lt;li&gt;В проекте несколько приложений, в которых должен использоваться sorl-thumbnail, например персональный профиль пользователя, где юзер может закачать аватар и фотогалерея, где так же необходимо создавать несколько превьюшек загружаемых изображений. Но настройки в sorl-thumbnail в settings.py ведь будут распространяться для всех приложений, использующих sorl-thumbnail. Файловая организация проекта такова, чтоизображения различных приложения хранятся в различных директориях. Thumbnail&#039;ы должны сохраняться в поддиреториях директории приложения. Если мы зададим префикс &lt;code&gt;THUMBNAIL_PREFIX&lt;/code&gt; или директории &lt;code&gt;THUMBNAIL_BASEDIR&lt;/code&gt;, &lt;code&gt;THUMBNAIL_SUBDIR&lt;/code&gt; то они будут одинаковы для всего проекта. Можно ли сделать их локальными для каждого из приложений, где необходим sorl-thumbnail?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Офф. документацию почитал, возможно упустил важные моменты. Уважаемые посетители нашего блога, если у вас имеются мысли по этому поводу, поделитесь, пожалуйста.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Попробовал для ресайзов использовать sorl-thumbnail (<a href="http://code.google.com/p/sorl-thumbnail/" rel="nofollow">code.google.com/p/sorl-thumbnail/</a>), действительно мощный модуль, но возникли вопросы:</p>
<ol>
<li>Можно ли использовать ресайз изображений sorl-thumbnail на уровне загрузки файла изображения. Т.е. я понимаю, что sorl-thumbnail создаст ресайз при первой попытке открыть миниатюру, но мне бы так же хотелось ресайзить оригинальное изображение, например до некоторого максимального значения, определенного в настройках системы. Чтобы не хранить 5,6,7 и т.д. мегапиксельные фото, я хочу хранить оригинал, например в разрешении не превышающем <i>1600х1200</i>, а из него потом делать различные сумбнейлы. На данный момент я произвожу этот ресайз своими средствами, возможно это можно организовать через sorl-thumbnail ?</li>
<li>В проекте несколько приложений, в которых должен использоваться sorl-thumbnail, например персональный профиль пользователя, где юзер может закачать аватар и фотогалерея, где так же необходимо создавать несколько превьюшек загружаемых изображений. Но настройки в sorl-thumbnail в settings.py ведь будут распространяться для всех приложений, использующих sorl-thumbnail. Файловая организация проекта такова, чтоизображения различных приложения хранятся в различных директориях. Thumbnail&#8217;ы должны сохраняться в поддиреториях директории приложения. Если мы зададим префикс <code>THUMBNAIL_PREFIX</code> или директории <code>THUMBNAIL_BASEDIR</code>, <code>THUMBNAIL_SUBDIR</code> то они будут одинаковы для всего проекта. Можно ли сделать их локальными для каждого из приложений, где необходим sorl-thumbnail?</li>
</ol>
<p>Офф. документацию почитал, возможно упустил важные моменты. Уважаемые посетители нашего блога, если у вас имеются мысли по этому поводу, поделитесь, пожалуйста.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: rootart</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-7176</link>
		<dc:creator>rootart</dc:creator>
		<pubDate>Wed, 29 Apr 2009 21:15:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-7176</guid>
		<description>Ну по перше я не думаю що зміна розмірів картинки методами PIL вимагає дуже багато ресурсів (звісно все залежить від потужностей). Крім того якщо вже на те пішло то потрібно ставити певного роду чергу обробки у випадку великої завантаженості. Особисто я для себе використовував схожі методи описані тут http://www.djangosnippets.org/snippets/20/ . 

Відносно ресайза на ходу то можна застосувати тільки потрібно правильно кешувати результат
http://www.djangosnippets.org/snippets/192/</description>
		<content:encoded><![CDATA[<p>Ну по перше я не думаю що зміна розмірів картинки методами PIL вимагає дуже багато ресурсів (звісно все залежить від потужностей). Крім того якщо вже на те пішло то потрібно ставити певного роду чергу обробки у випадку великої завантаженості. Особисто я для себе використовував схожі методи описані тут <a href="http://www.djangosnippets.org/snippets/20/" rel="nofollow">http://www.djangosnippets.org/snippets/20/</a> . </p>
<p>Відносно ресайза на ходу то можна застосувати тільки потрібно правильно кешувати результат<br />
<a href="http://www.djangosnippets.org/snippets/192/" rel="nofollow">http://www.djangosnippets.org/snippets/192/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: woodpeaker</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-7168</link>
		<dc:creator>woodpeaker</dc:creator>
		<pubDate>Wed, 29 Apr 2009 15:15:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-7168</guid>
		<description>поправка: не в вашем случае 5-6 сек на проц... это в моем случае было:-) В Вашем будет около 1-2 сек, взамисимости от общей загрузки</description>
		<content:encoded><![CDATA[<p>поправка: не в вашем случае 5-6 сек на проц&#8230; это в моем случае было:-) В Вашем будет около 1-2 сек, взамисимости от общей загрузки</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: woodpeaker</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-7167</link>
		<dc:creator>woodpeaker</dc:creator>
		<pubDate>Wed, 29 Apr 2009 15:13:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-7167</guid>
		<description>А почему вы не учитываете нагрузки на сервер при ресайзинге?

У меня была задача - налету собирать из кусочков PNG board, накладывать слои и менять размер картинки по запросу, но данная задача так грузила сервер, что я от такого отказался...

Точнее не то чтобы отказался, а дополнил: при первом запросе картинки размер ресайзится и ложится в &quot;кэш-папку&quot;, далее отдается как статика.

По вашему получается, что на одну картинку надо около 5-6 сек проца(40-50%) + памяти (на глаз не помню сколько). + Если запросов будет больше чем 1 в две сек ваш сервак будет испытывать некие трудности, вплоть до зависания.

Так, что самый оптимальный вариант (+ подстраховка). Сохранять оригинальную картинку + сразу ресайзить. Есди надо будет другие размеры, то с оригинала можно будет сделать новые варианты.

А с ресайзом налету - не вариант, будет сильно тупить.</description>
		<content:encoded><![CDATA[<p>А почему вы не учитываете нагрузки на сервер при ресайзинге?</p>
<p>У меня была задача &#8212; налету собирать из кусочков PNG board, накладывать слои и менять размер картинки по запросу, но данная задача так грузила сервер, что я от такого отказался&#8230;</p>
<p>Точнее не то чтобы отказался, а дополнил: при первом запросе картинки размер ресайзится и ложится в &#171;кэш-папку&#187;, далее отдается как статика.</p>
<p>По вашему получается, что на одну картинку надо около 5-6 сек проца(40-50%) + памяти (на глаз не помню сколько). + Если запросов будет больше чем 1 в две сек ваш сервак будет испытывать некие трудности, вплоть до зависания.</p>
<p>Так, что самый оптимальный вариант (+ подстраховка). Сохранять оригинальную картинку + сразу ресайзить. Есди надо будет другие размеры, то с оригинала можно будет сделать новые варианты.</p>
<p>А с ресайзом налету &#8212; не вариант, будет сильно тупить.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Skaizer</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-7157</link>
		<dc:creator>Skaizer</dc:creator>
		<pubDate>Wed, 29 Apr 2009 10:36:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-7157</guid>
		<description>&lt;p&gt;&lt;b&gt;excieve&lt;/b&gt;, да, действительно, не подумал о ситуациях, когда в будущем размеры необходимо будет изменить. На момент написания этого скрипта реализация с помощью шаблонного тега или фильтра казалась несколько странной. Спасибо за обоснование! Минус конечно в том, что придется хранить тонны изображений, которые возможно окажутся не нужными. А пользователи любя загрузить картинки, снятые на &gt;5 мегапиксельные камеры...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;maxcentry&lt;/b&gt;, благодарю, и правда изображения стали смотреться по четче. в Python это реализуется достаточно просто:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;python&quot;&gt;from PIL import ImageEnhance
sharpen = ImageEnhance.Sharpness(image)
image = sharpen.enhance(15.0)&lt;/code&gt;&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p><b>excieve</b>, да, действительно, не подумал о ситуациях, когда в будущем размеры необходимо будет изменить. На момент написания этого скрипта реализация с помощью шаблонного тега или фильтра казалась несколько странной. Спасибо за обоснование! Минус конечно в том, что придется хранить тонны изображений, которые возможно окажутся не нужными. А пользователи любя загрузить картинки, снятые на >5 мегапиксельные камеры&#8230;</p>
<p><b>maxcentry</b>, благодарю, и правда изображения стали смотреться по четче. в Python это реализуется достаточно просто:</p>
<pre><code class="python">from PIL import ImageEnhance
sharpen = ImageEnhance.Sharpness(image)
image = sharpen.enhance(15.0)</code></pre>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: maxcentry</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-7151</link>
		<dc:creator>maxcentry</dc:creator>
		<pubDate>Wed, 29 Apr 2009 07:26:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-7151</guid>
		<description>Не знаю на сколько это просто в реализации на Python, но избыточное (больше чем это нужно для реального изображения) использование фильтров по типу Sharpen и затем уменьшение изображения позволит добиться большей резкости в уменьшенном варианте изображения. Степень избыточности можно подобрать опытным путем.</description>
		<content:encoded><![CDATA[<p>Не знаю на сколько это просто в реализации на Python, но избыточное (больше чем это нужно для реального изображения) использование фильтров по типу Sharpen и затем уменьшение изображения позволит добиться большей резкости в уменьшенном варианте изображения. Степень избыточности можно подобрать опытным путем.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: excieve</title>
		<link>http://www.codeisart.ru/python-django-automatically-resize-uploaded-images/comment-page-1/#comment-7139</link>
		<dc:creator>excieve</dc:creator>
		<pubDate>Wed, 29 Apr 2009 01:09:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeisart.ru/?p=1476#comment-7139</guid>
		<description>ИМХО, не очень правильный подход. А если в будующем будет нужно изменить этот размер? Мне кажется, что лучше сохранять в оригинальном размере, а при доступе к изображению в шаблоне - применять фильтр или тэг, естественно, кешируя результат. Что дает большую гибкость как в настройке, так и в использовании - можно легко изпользовать сколько угодно вариантов размеров изображения. Такой подход уже реализован в sorl-thumbnail кажется. Однако, если изменения размеров не планируется в принципе или нужно только изначально ограничить размер неким максимальным значением, то это, конечно, подходящее решение.</description>
		<content:encoded><![CDATA[<p>ИМХО, не очень правильный подход. А если в будующем будет нужно изменить этот размер? Мне кажется, что лучше сохранять в оригинальном размере, а при доступе к изображению в шаблоне &#8212; применять фильтр или тэг, естественно, кешируя результат. Что дает большую гибкость как в настройке, так и в использовании &#8212; можно легко изпользовать сколько угодно вариантов размеров изображения. Такой подход уже реализован в sorl-thumbnail кажется. Однако, если изменения размеров не планируется в принципе или нужно только изначально ограничить размер неким максимальным значением, то это, конечно, подходящее решение.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.codeisart.ru @ 2012-02-04 11:29:24 -->
