Архив автора: admin

Документация South — Перевод. Установка

Текущий релиз South — 0.7.6. Но документация написана для 0.7.5, так что имейте это ввиду.
Есть несколько способов установить South:

  • Используя easy_install или pip, что рекомендуется, если Вы хотите получить стабильный релиз
  • Используя Mercurial, что рекомендуется если Вы хотите получить самый последний релиз
  • Скачав архив, если у Вас нет ни easy_install, ни Mercurial
Некоторые дистрибутивы Linux (и UNIX, например, FreeBSD — прим. переводчика) уже содержат South в их репозитории, например, если Вы используете не стабильный Debian, то Вы можете использовать команду apt-get install python-django-south, а на Fedora — yum install Django-south. Обратите внимание, что таким образом Вы можете получить старую версию, так что проверьте сначала номер версии в репозитории.
South <=0.7.3 должен работать с версиями Django от 0.97-pre до 1.1
South >=0.7.4 должен работать с версиями Django начиная от версии 1.2
Пожалуйста, проверьте совместимость с вашей версией в заметках о релизе, чтобы быть в курсе последних изменений.

Установка при помощи easy_install

Если у Вас есть easy_install, то просто выполните команду easy_install South. Если у Вас уже установлена предыдущая версия и Вы просто хотите её обновить — используйте команду easy_install -U South. Вот и всё, что Вам нужно для установки пакета. Теперь Вам следует настроить Django (см. последний раздел).

Установка при помощи Mercurial

Вы можете так же воспользоваться возможностью установки напрямую из нашего репозитория Mercurial, что позволит Вам получить все обновления и исправления ошибок сразу по их выходу. Для этого Вам нужен установленный Mercurial. На большинстве систем соответствующий пакет называется mercurial; для Windows и OSX пакет можно скачать с http://mercurial.berkwood.com.
Убедитесь, что Вы находитесь в той папке, куда и хотите получить south. После этого выполните команду hg clone http://bitbucket.org/andrewgodwin/south/ Для обновления имеющейся версии выполните две команды:
hg pull
hg up -C tip
(Вместо использования tip Вы так же можете использовать тег stableish, который в ручную устанавливается на стабильные коммиты, или же выбрать тег с номером версии)
После этого переходите к разделу «установка из папки»

Использование скачиваемого архива

Если Вы питаете отвращение к использованию Mercurial и не имеете под рукой easy_install, тогда Вы можете установить South из нашего .tar.gz файла.
Во-первых, скачайте архив со страницы релизов и извлеките его в папку south. После этого следуйте инструкциям из раздела «установка из папки».

Установка из папки

Если Вы получили копию South при помощи Mercurial или скачав и распаковав архив, то теперь Вам надо установить South на вашу систему. Попробуйте выполнить эту команду:
python setup.py develop
Если она не сработает, значит на вашей системе не доступны setuptools. Тогда либо установите их, либо выполните команду
python setup.py install
Обратите внимание, что при использовании develop Вы будете запускать установленную версию из той папки, которую Вы создали, тогда как при использовании install Вы скопируете все файлы в папку site-packages вашей версии Python, а значит при обновлении Вам снова понадобится использовать команду install.
Вы так же можете установить South локально, только для одного проекта, либо включив его в этот проект и изменив sys.path в файле настрое, либо (предпочтительнее) используя virtualenv, pip и requirements.txt. Рассказ о том, как это сделать выходит за рамки этой документации, то его не тяжело найти в сети.
После установки Вам надо будет настроить вашу версию Django.

Настройка Django

После того, как Вы установили South на вашей системе, Вам осталось только настроить Django, чтобы он его использовал. Сделать это просто — достаточно отредактировать setti
ngs.py, добавив 'south' в конец раздела INSATALLED_APPS.
Если Django не торопится подхватывать South, то проверьте что Вы нигде не переопределили INSTALLED_APS, и что Вы можете выполнить import south в ./manage.py shell без ошибок.
После того, как South добавлен, Вам надо запустить ./manage.py syncdb чтобы South создал таблицу для слежения за изменениями (South не использует миграции для своих моделей по некоторым причинам).
Теперь South загружен в ваш проект и готов к использованию. Так что перейдём к более интересным занятиям.

Автор: Ishayahu Lastov

Замороженные продукты и здоровое питание

При недостатке времени для походов на рынки, замороженные продукты являются самыми популярными продуктами на нашем столе. Заморозка продуктов — это не только самый щадящий способ консервации, но и полезный для организма.

При заморозке продуктов не добавляются химические консерванты. Быстрое охлаждение продуктов позволяет сохранять в них полезные вещества. Замороженные продукты не являются менее полезными, чем свежие. Дело не в заморозке, а в качестве замороженного продукта. При замораживании в продуктах вода преобразуется в лед, что разрушает стенки клеток. Поэтому по вкусу замороженные продукты уступают свежим. Но не все продукты мы едим в сыром виде.
А продукты, подвергшиеся термической обработке по вкусу не будут различаться, были ли они свежими или замороженными. Причем в зимний период свежезамороженные овощи будут намного богаче витаминами, чем свежие овощи, пролежавшие пол года в подвале. Также это относится и к консервированным овощам (зеленый горошек, кукуруза), замороженный продукт не содержит соли и консервантов.
А при приготовлении блюд консервированные продукты замените на свежезамороженные, приготовленные блюда станут не только вкуснее, но и полезней. Самое главное при выборе замороженного продукта является то, что продукт не должен был подвергаться замораживанию несколько раз.
Главные признаки вторичного замораживания это подтеки льда, слипшийся продукт, заледенелая и покоробившаяся упаковка. Продукт упаковывают уже после заморозки, поэтому на упаковке не должно присутствовать признаков попадания жидкости. Диета на замороженных продуктах куда лучше, чем самые свежие таблетки для похудения, это факт. Диетологи рекомендуют здоровое питание.

Документация South — Перевод. Часть 1: Основы

Добро пожаловать в руководство. Тут мы постараемся рассказать об основах использования South и дать несколько общих советов как ещё его можно использовать.
Если Вы никогда не слышали о библиотеках для миграции, тогда сперва прочитайте раздел «что такое миграция«. Это поможет Вам лучше понять для чего предназначены South и его альтернативы, такие как django-evolution.
В этом руководстве мы предполагаем, что South у Вас уже установлен и настроен, иначе смотрите раздел «установка«.

Приступаем

В этом руководстве мы рассмотрим процесс миграции на новое приложение. Вопросы изменения схемы существующего приложения мы рассмотрим позже.
Во-первых, надо отметить, что South работает с каждым приложением по отдельности. Миграции сохраняются в коде приложения (хотя их можно хранить там, где Вы захотите — см «SOUTH_MIGRATION_MODULES»). Если для приложения не определена никакая миграция, то South будет его просто игнорировать и оно будет использовать syncdb.
Так что возьмём проект для работы (или сделаем новое, определив БД и прочие настройки) и создадим новое приложение:
./manage.py startapp southtut
Как и предполагается, эта команда создаст новую папку southtut. Во-первых, добавьте это приложение в INTALLED_APPD, после чего откройте созданный southtut/models.py и создайте новую модель:

 from django.db import models

class Knight(models.Model):
name = models.CharField(max_length=100)
of_the_round_table = models.BooleanField()

Просто, да? Но теперь, вместо того, чтобы запустить syncdb для создания таблицы для модели в нашей БД, мы создадим для этого миграцию.

Первая миграция

В South есть несколько способов создать миграцию. Некоторые автоматические, некоторые делаются ручками. Как стандартный пользователь, Вы скорее всего будете использовать два автоматических способа — —auto и —initial.
—auto смотрит на предыдущую миграцию, смотрит, что изменилось и создаёт миграцию, которая применяет эти изменения. Например, если Вы добавляете поле в модель, то —auto это заметит и сделает миграцию, которая создаст в таблице новую колонку, соответствующую этому полю в модели.
Но, как Вы наверняка заметили, —auto требуется предыдущая миграция, а в нашем новом приложении нет ещё ни одной миграции. Вместо этого мы воспользуемся —initial, который создаёт таблицы и индексы для всех моделей в приложении. Это то, что Вам нужно в самом начале, аналог syncdb, тогда как —auto Вам понадобится уже позже, для обслуживания изменений.
Так что давайте создадим нашу первую миграцию:

 $ ./manage.py schemamigration southtut --initial
Creating migrations directory at '/home/andrew/Programs/litret/southtut/migrations'...
Creating __init__.py in '/home/andrew/Programs/litret/southtut/migrations'...
+ Added model southtut.Knight
Created 0001_initial.py. You can now apply this migration with: ./manage.py migrate southtut

(Если на этом этапе Вы получите ошибку, что south_migrationhistory не существует, значит Вы забыли запустить syncdb после установки South)
Как Вы можете видеть, эта команда создала для нас папку миграции и создала внутри неё новую миграцию. Всё, что нам осталось — лишь применить её к БД:

 $ ./manage.py migrate southtut
Running migrations for southtut:
- Migrating forwards to 0001_initial.
> southtut:0001_initial
- Loading initial data for southtut.

Теперь South создал новую таблицу в нашей модели — можете проверить если хотите, и добавить нескольких Knight при помощи ./manage.py shell.

Изменение модели

До сих пор мы не делали ничего, с чем бы не смог справиться syncdb. Теперь пришло время изменить нашу модель. Давайте добавим к ней ещё одно поле:
 from django.db import models

class Knight(models.Model):
name = models.CharField(max_length=100)
of_the_round_table = models.BooleanField()
dances_whenever_able = models.BooleanField()

Теперь, если мы не будем использовать миграции, так просто добавить новую колонку к таблице southtut_knight уже не получится. Но при помощи South мы сможем сделать это всего в два шага: создать миграцию для отражения изменения и затем применить её:
Во-первых, создадим миграцию при помощи —auto:
 $ ./manage.py schemamigration southtut --auto
+ Added field dances_whenever_able on southtut.Knight
Created 0002_auto__add_field_knight_dances_whenever_able.py. You can now apply this migration with: ./manage.py migrate southtut


братите внимание, что South автоматически подбирает имя для миграции. Вы можете задать для миграции своё имя, указав его в качестве другого аргумента).
Теперь давайте её применим:
 $ ./manage.py migrate southtut
Running migrations for southtut:
- Migrating forwards to 0002_auto__add_field_knight_dances_whenever_able.
> southtut:0002_auto__add_field_knight_dances_whenever_able
- Loading initial data for southtut.

После этого наша новая колонка создана и опять же это можно проверить.

Конвертация существующего приложения

Иногда, особенно когда Вы добавляете South в проект, Вы хотите использовать его для уже существующего приложения — там, где уже есть созданные таблицы.
В этом и состоит отличие работы с существующим приложением от работы с новым приложением. И о том, как справиться с такой задачей смотрите страницу «конвертация приложения (пока не переведено)».
Теперь, когда Вы знаете как использовать South, можно перейти ко второй части руководства.

Автор: Ishayahu Lastov

Домашний медиа-сервер (Установка системы Ubuntu 12.10 Minimal CD)

Давно хотел написать статью про организацию домашнего медиасервера. Начнём. Настраивать буду на основе Ubuntu 12.10 «Quantal Quetzal» Minimal CD 32-bit PC (x86). В данной статье рассмотрим только установку операционной системы.

Читать

О чем не говорят банки держателям кредитных карт.

О чем не говорят банки держателям кредитных карт.

О чем не говорят банки держателям кредитных
карт.
================================================================================
Настя Меркулова on 22/07/2013 20:30:00

Информации на тему: «О чем не говорят банки
держателям кредитных карт» не так просто
найти на просторах интернета. Ни один
работник банка не расскажет Вам про
подводные камни, которые ожидают вас после
активации пароля кредитной карты. Но как
честный гражданин, считаю своим долгом
донести до народа скрытую от их глаз
информацию. Жаль, что это все по личному
горькому опыту. Вот некоторые из этих
нюансов:
Начнем, пожалуй, с самого маленького и
казалось, безвредного: — «Каждый месяц со
счета Вашей кредитной карты будет
сниматься 5 гривен за смс — информирование
(это пример, так как разные банки берут
разные суммы). А в итоге, за несколько
месяцев сумма может достигнуть сотни. «Но, я,
же ею не пользовался» — возразите Вы. «А это
за смс» — ответят банкиры. Плюс к таким
мелочам можно добавить и оплату за выпуск
пластиковой карты, интернет — банкинг,
страховку и разного рода мелочи по 10, 15, 20
гривен в месяц. А в итоге вы уже должны.
Никто во веки веков не признается вам в том,
что ни в коем случае нельзя снимать всю
сумму с кредитной карты. В любом случае
должен оставаться положительный остаток,
равный пару сотням. В противном случае
никак не избежать нежелательных штрафных
санкций.
А как Вам эта фишка! Многие из банков не имея
собственных банкоматов, используют
банкоматы банков — партнеров. Но суть в
следующем, допустим, комиссия за снятие
наличных средств составляет 3% + 20 гривен.
Вам нужно снять, допустим, 2 тысячи гривен. А
лимит на единоразовое снятие наличных в
банкомате 1 тысяча гривен. Вот и считаем,
вместо 80 гривен комиссии вы платите 100
гривен. Вроде немного, но все равно
неприятно. Вот почему ни в коем случае
нельзя снимать маленькие суммы. К примеру,
100 гривен. Процент остается тот же, но еще
плюс 20 гривен. В итоге, за снятие 100 гривен,
вы платите 23 гривны комиссии.
А если ко всему этому добавить еще и
сногсшибательный процент по кредитной
карте. В некоторых случаях доходящий до 70 —
75%. Наведу пример из 1 тысячи гривен
ежемесячного платежа по карте, на счет
зачисляется только около 300 гривен. Вот это
да! Неправда ли! Желаю всем с умом
пользоваться кредитными картами и не
наступать на мои грабли))).

Панно из газетных трубочек

Газеты – это, пожалуй, один из немногих наиболее бюджетных вариантов для переделок и разного рода рукоделия. Ведь газеты есть в каждом доме и практически в неограниченном количестве. Свежие газеты отличаются специфическим запахом, который многие люди находят весьма приятным и получают удовольствие, вдыхая аромат свежей газеты. Сегодня сделаем панно из газетных трубочек в технике квиллинг.

Квиллинг панно из газетных трубочек

Читать