Янв 05

Задача стояла следующая:
сделать карточку создания-редактирования тренировки, которое состоит из упражнений, каждое из которых состоит из подходов. При этом должна быть возможность создавать тренировку по шаблону, при этом должны выводиться формы упражнений с предзаполненными данными, а также пустые определённого количества форм для ввода подходов (количество задаётся в шаблоне). Также должна сохраниться валидация всех форм, невозможность сохранения тренировок без упражнений и упражнений без подходов.
Continue reading »

Теги:
Дек 19

Запустить новый проект
Перед запуском надо записать изменения в базу данных:

python manage.py syncdb

Также можно проверить на ошибки:

python manage.py validate

Запустить проект:

python manage.py runserver

Кстати, тут много про запуск Django в продакшн-окружении.

Теги:
Ноя 14
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 – в документации

Теги:
Ноя 10

Задача стояла следующая:
есть список сущностей (к примеру, упражнений), каждая из которых в форме выводится в виде нескольких полей ввода (к примеру, сеты и название упражнения), хочется иметь возможность яваскриптом добавлять/удалять упражнения, менять их положение.
Для этого были использованы формсеты (django.forms.formsets) и jquery на клиенте.

В теории всё так: в шаблон передаём формы из формсета (подводный камень тут – для правильной валидации нужно в шаблоне внутри формы нужно не забыть вписать скрытые инпуты, отвечающие за количество форм формсета на странице, для этого пишем в шаблоне {{ exercisesFormset.management_form }}).
В шаблоне у каждого упражнения присутствуют контролы для удаления/добавления и перемещения упражнений, после загрузки страницы ненужные контролы у каждого упражнения скрываются, а после, к примеру, добавления нового упражнения контролы перерисовываются.
Для удаления все поля ввода упражнения очищаются, после чего скрываются.

Это была теория, теперь практика. Ниже гольный код с комментариями.
Continue reading »

Теги:
Ноя 05

Хотелось использовать стандартную авторизацию, но нужно было, естественно, её расширить.
Вот как это получилось.
Continue reading »

Теги:
Ноя 05

Достаточно в urls.py добавить:

(r'^static/(?P
.*)$', 'django.views.static.serve', {'document_root': '/home/.../static'}),

Для боевого сервера этот метод, конечно, использовать не стоит, но для разработки – самое то.

Теги:
Авг 15

Наткнулся в сети на интересную статью о том, как ограничить скорость скачивания файлов с сервера.
Код на Python (Django), но если язык не знаком, то в качестве алгоритма почитать тоже полезно.
Ссылка.

Теги:
preload preload preload