Django под Windows — рецепт солянки

Настройка Linux среды Python/Django разработки под Windows с помощью VirtualBox и PyCharm на примере Debian Ингридиенты Ноутбук с предустановленной Windows 8.1: 1,5 кг VirtualBox: 1 литр Debian: 0.5 тушки (можно заменить на целую тушку Ubuntu или другой Linux, который есть в вашем магазине, но с Debian наваристее) VirtualBox Guest Addition: 1 горсть PyCharm: 1 луковица … Читать далееDjango под Windows — рецепт солянки

Django — ошибка во время миграции

схемы базы данных для модели

Во время миграции схемы базы данных для модели, в которую добавлено ForeignKey поле, может возникнуть ошибка вида: django.db.utils.OperationalError: (1005, «Can’t create table ‘…’ (errno: 150)») Это происходит из-за разных типов хранилищ таблиц (MyISAM/InnoDB). В таком случае MySQL не может корректно создаться индекс по внешнему ключу. Следует руками привести обе таблицы к типу хранилища InnoDB, сделав … Читать далееDjango — ошибка во время миграции

Django: загрузка FileField и ImageField из файловой системы

Django: загрузка FileField

Не знаю как вы, а я чаще стал сталкиваться с ситуацией, когда мне нужно программно загрузить файл из локальной файловой системы или с помощью удаленного URL в модель Django. Это может понадобиться в контексте работы в оболочке Python, исполнения отдельного скрипта или команды управления Django. В типичном веб-приложении такая задача встречается нечасто. Я заметил, что … Читать далееDjango: загрузка FileField и ImageField из файловой системы

Django: как получить значение по-умолчанию поля модели

получить значение по-умолчанию

Допустим, в Django приложение существует следующая модель: class MyModel(models.Model): my_field = models.IntegerField(u»My field», default=0) Тогда сослаться на значение по-умолчанию поля my_field можно так: my_field_default_value = MyModel._meta.get_field(‘my_field’).get_default() UPD: Начиная с версии Django 1.8, устоявшаяся практика использования _meta стала абсолютно легальной. Теперь есть документированное API.

Python LiveReload: автоматическая перезагрузка страницы

Установка сервера

Python LiveReload — это вспомогательная утилита для веб-разработчиков. Запускается как сервер в директории проекта и отслеживает изменения файлов. Работает в паре с LiveReload расширением вашего браузера. Это позволяет избавиться от утомительного нажатия F5 или Ctrl+R в браузере после каждой правки кода. Установка сервера pip install livereload Установка расширения для Chrome https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei Запуск cd ~/my/project/path livereload … Читать далееPython LiveReload: автоматическая перезагрузка страницы

AngularJS и History API в Chrome приложениях

API в Chrome приложениях

History API имеет ограниченную поддержку в приложениях Chrome. Однако, AngularJS пытается обратиться к методу history.pushState во время инициализации приложения. Это неминуемо приводит к ошибке: history.pushState is not available in packaged apps. Лечится так: angular .module(‘app’, [], function($provide) { // Prevent Angular from sniffing for the history API // since it’s not supported in packaged apps. … Читать далееAngularJS и History API в Chrome приложениях