Как помогать себе и другим
Михаил Попов 24.10.2015 11:45 Практикум Django нет комментариевС самого начала работы над практикумом меня преследовала мысль, как соединить пример из практикума с его описанием, чтобы потом было удобно просматривать записи и чтобы было не напряжно их добавлять. В результате для своего сайта придумал, как это сделать с наименьшими для себя долговременными затратами. На помощь мне пришли новые знания по контекстным процессорам в Django. Теперь на свой сайт я могу добавлять как результаты практикума, который рождается в процессе выполнения домашних заданий, так и код, просто копируя его в базу в соответствующие модели. Вот первые результаты с примером выполнения практикума и кодом: http://practice.keyfire.ru/info/video/. Чтобы это реализовать нужно было создать 3 модели:
- Lesson - уроки
- Task - задачи уроков
- TaskSolutionSection - состав решения
Этих базах хранится информация, на основе которой строится меню сайта, а также примеры исходного кода. В зависимости от того, есть ли описание решения в базе на форме на странице отрастают закладки "Примеры" и "Код". Если решения нет, то закладки не отрастают. Также при установке признака disqus в форме практикума отрастает или не отрастает комментирование. У уроков есть поля new и update, типа BooleanField, благодаря им этим полям я устанавливаю признаки "Новый" или "Обновлено", что отражается в меню и дает пользователям понять, что изменилось на сайте. Пока навигация выглядит в виде меню справа, но при увеличении количества результатов практикумов я буду его переосмысливать и так-как информация о страницах и ссылках хранится у меня в базе данных мне не составит труда потом переписать вьюху. Также зарание добавил поля add_date и upd_date типа DateTimeField, чтобы при перестроении меню в дальнейшем можно было упорядочивать его по убыванию даты обновления или добавления. Я очень собой доволен, провел над этим почти всю вчерашнюю ночь. Но теперь это даст новый пинок к развитию моего сайта практикума и будет легко с ним работать в админской части.
До свиданья Haskel, привет Python | Выполнил домашнее задание к 33 уроку, сходил в Аквапарк |
0 0 |