Category Archives: Programming
Вложенные формсеты в Django
Задача стояла следующая: сделать карточку создания-редактирования тренировки, которое состоит из упражнений, каждое из которых состоит из подходов. При этом должна быть возможность создавать тренировку по шаблону, при этом должны выводиться формы упражнений с предзаполненными данными, а также пустые определённого количества форм для ввода подходов (количество задаётся в шаблоне). Также должна сохраниться валидация всех форм, невозможность …
Запуск проекта Django
Запустить новый проект Перед запуском надо записать изменения в базу данных:
1 |
python manage.py syncdb |
Также можно проверить на ошибки:
1 |
python manage.py validate |
Запустить проект:
1 |
python manage.py runserver |
Кстати, тут много про запуск Django в продакшн-окружении.
FireBug console.table
В FireBug1.6 появился новый способ вывода — console.table
Пример jquery-ui виджета
Виджет добавляет инпуту кнопки, упрощающие генерацию маски, и строку для показа сгенерированного по маске значения. Виджет выложен исключительно для примера. Использовать напрямую нельзя (только с моего письменного разрешения). К сожалению так, прошу извинить.
Отдача json из Django view
1 2 3 4 5 6 |
from django.http import HttpResponse import simplejson as json ... def my_view( request ): jsonDict = { "status": "success", "message": "everything's fine" } return HttpResponse( json.dumps( jsonDict ), mimetype="application/json" ) |
Подробнее о simplejson — в документации
Динамическое добавление/удаление полей форм в Django
Задача стояла следующая: есть список сущностей (к примеру, упражнений), каждая из которых в форме выводится в виде нескольких полей ввода (к примеру, сеты и название упражнения), хочется иметь возможность яваскриптом добавлять/удалять упражнения, менять их положение. Для этого были использованы формсеты (django.forms.formsets) и jquery на клиенте. В теории всё так: в шаблон передаём формы из формсета …
Работа со стандартной авторизацией в Django
Хотелось использовать стандартную авторизацию, но нужно было, естественно, её расширить. Вот как это получилось.
Отдача статики в Django
Достаточно в urls.py добавить:
1 |
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/home/.../static'}), |
Для боевого сервера этот метод, конечно, использовать не стоит, но для разработки — самое то.
Выборка DOM-элементов по селекторам
Постоянно забываю запись всех атрибут селекторов для jquery. Памятка с примерами использования: 1. Элемент с атрибутом [A] Выбирает все элементы с атрибутом. Пример:
1 |
$( "checkbox[checked]" ) |
Выбрать все чекбоксы с атрибутом «checked». 2. Элемент с атрибутом A, равным B [A=B] Пример:
1 |
$( "input[name='my-name']" ) |
Выбрать все инпуты с атрибутом «name», равным «my-name». 3. Элемент с атрибутом A, не равным …
Проверка идентичности двух плоских массивов в jQuery
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
arraysAreEqual: function( Arr1, Arr2 ) { var equal = ( Arr1.length == Arr2.length ); if ( equal ) { $.each( Arr1, function ( key, val ) { if ( $.inArray( val, Arr2 ) == -1 ) { equal = false; return false; } } ); } return equal; }, |