Category Archives: Programming
Запуск проекта 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; }, |
Как правильно установить xdebug для удобной работы
1. Скачиваем расширение — http://www.xdebug.org/download.php (я качаю ts) и копируем в папку с расширениями php. 2. В php.ini пишем
1 2 3 4 5 6 7 8 9 10 11 12 13 |
zend_extension_ts = "<путь-к-папке-ext>/php_xdebug.dll" xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_port=9000 xdebug.remote_host=localhost xdebug.idekey=bullgare ;ну или другой ;это для профилирования xdebug.profiler_enable=Off xdebug.profiler_output_dir="c:\traces" xdebug.profiler_enable_trigger=On xdebug.profiler_output_name = cachegrind.out.%t.%p |
После перезапуска апача phpinfo будет содержать раздел xdebug.