Во всех представлениях (шаблонах) нашего блога мы использовали разные переменные и чтоб отобразить шаблон мы передавали нужные переменные через функции views.py - явно. Этого можно избежать используя контекстные процессоры. Текст взят с блога автора: Артем Устимов © 2014
Django: контекстные процессоры или добавление контекстных данных на все страницы
Дата и время: 23 января 2015 г. 23:03 | Категория: Веб-разработка, Django
Часто бывают случаи, когда какой-либо динамический элемент должен присутствовать на всех страницах сайта. Например, это может быть опрос или меню. Для решения данной проблемы в Django существуют контекстные процессоры.
На первый взляд, поставленную задачу можно решить простым добавлением нужных данных в контекст каждого представления, но в то же время очевидно, что это
...
Читать дальше »
|
Many-to-many of Django
Перед тем как перейти к дизайну сайта нельзя обойти вниманием такую связь как многое ко многому, потому как мало кто из многих преподов примет у вас курсовик без данного вида связи объектов. Поэтому реализуем её в нашем блоге в виде облака тегов. Каждой статье на нашем сайте может относится несколько тегов, но с другой стороны один тег может быть отнесен к нескольким статьям.
О связи многое ко многому ужасно много написано постов, чуть меньше про эту связь видео. Но видно я еще не достиг "прозрения" и уровня "гуру-программирования" , чтоб хоть один метод взять и использовать как готовое решение у меня не получилось... Все видео которые я нашел по использованию связи m2m относились к админке. Авторы, наверное предполагают что вывод в браузер для пользователя зависимых элементов это же так элементарно... Для таких же как и я предоставляю официальный туториал по испол
...
Читать дальше »
|
Как и для чего необходимо дерево каталога(категорий)
Продолжаем создавать конструктор сайта и создадим навигацию по сайту
Долго пытался найти полный и связный материал по использованию библиотеки mptt-django, но видео материал только по установке и использованию в админке. Печатного материала очень много, но он не связан и труден для начинающего веб программиста. Поэтому представляю для начинающих практическое применение кода для построения "деревоподобных" структур, а также простые решения для урлов, вьюшки и отображения в шаблонах, исходники кода можно скачать по ссылкам под видео:
...
Читать дальше »
|
Устанавливаем видео с YouTube в Django
Урок 5
|
Устанавливаем бесплатный визуальный редактор в админку сайта на Django.
Урок 4
|
В модель добавляем поле imageField :
class Article(models.Model):
class Meta():# содержит свойства таблицы
db_table = "article"# даем название таблице
article_title = models.CharField(max_length = 200) #заглавие статьи 200 символов
article_text = models.TextField()#текстовое поле- текст большого размера
article_date = models.DateTimeField()# хранение даты и времени публикации
article_likes = models.IntegerField(default=0)# хранение лайков(целое число)
article_image = models.ImageField(null=True, blank=True,uploa
...
Читать дальше »
|
Следующее , что я сделал - это отобразил в комментариях кто его добавил и дату комментария.
Для этого необходимо изначально в модели комментариев определить два поля:1 поле автора и 2. поле даты создания комментария.
код класса комментария в модели стал выглядеть так:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from django.db import models
from django.contrib.auth.models
...
Читать дальше »
|
Django - фреймворк для написания веб приложений
Лучший вариант изучить и понять правила создания веб-сайтов и приложений посмотреть обучающее видео.https://www.youtube.com/watch?v=QgdINlxm-wE. Если вы пройдете все видео уроки по созданию первого простого блога, то получите по меньшей мере, исходный код сайта который можно будет изменять и корректировать на своё усмотрение. В комментариях восьмого урока есть ссылка на рабочий код автора. Кому интересно как можно этот код превратить в более совершенный блог предлагаю свои варианты.
...
Читать дальше »
|
Создание игры ПАЗЛ на Python + Pygame
Сегодня встретил приятеля, который устраивался на работу программистом. Ему задали пробное задание - создать программу "часы" или "Пазлы" . Программ по изображению часов на Python очень много, поэтому будем создавать игру - пазлы. Первоисточников и исходников на питоне не нашел , чему несказанно и обрадовался... Я думаю, что справлюсь без особых усилий. И так начнем с создания нужной картинки, а вернее способа разбития. Чтоб не нагружать программно наш комп картинку будем разбивать в фотошопе.Проделать эту операцию можно многими способами, я предпочитаю инструментом - раскройка.Подробное видео красивого разбития картинки https://www.youtube.com/watch?v=oLSl3u_wBfA
...
Читать дальше »
|
УРОК 11 Курсовая работа 4 курса
Самые распространенные задания средних курсов вузов есть создание игры с появляющимися объектами разного цвета и уничтожающиеся при соприкосновении или расположении рядом. За основу возмём такую задачу: на игровом поле в случайных местах появляются три разноцветных шара, при перемещении любого объекта на один шаг - появляются еще один шарик случайного цвета в случайных координатах и т. д..Задача собирать шарики по цвету в ряд - 3 одного цвета уничтожаются. На мой взгляд - это бредовая игра, но задание очень часто встречающееся... Попробуем его решить. Прежде всего нужно определиться что для создания подобного скрипта нам нужно?
1) Нарисовать поле с клеточками
...
Читать дальше »
|
ПЯТНАШКИ
И так полученные навыки и умения необходимо конвертировать в какую нибудь полезную вещь. Что мы умеем? Умеем рисовать клеточное поле, умеем перемещать по нему объекты, при чём по шагово и с учетом занятого и свободного пространства. Значит мы запросто напишем игру ПЯТНАШКИ.
Начнём с подбора пятнашек, находим понравившейся рисунок в нете и пишем на нем цифры в фотошопе, пятнашки должны быть квадратными
Начало кода стандартное, создаем игровое поле опираясь на ширину и высоту пятнашки (и учитываем промежутки). Затем создаём класс спрайт в котором определяем наши обьекты как прямоугольники , определяем их ширину и высоту и заносим в список. В классе задаем функцию активации пятнашки при клике на ней мышкой, функцию перемещения (если ей разрешено), функц
...
Читать дальше »
|
Перемещение нескольких объектов по клеточному полю.
В предыдущей части урока мы научились рисовать и перемещать по клеточкам один объект. Теперь усложняем задание - вводим несколько объектов и перемещаем их по полю. При перемещении мы должны учитывать, что объекты не должны занимать уже занятые клеточки( налазить друг на друга) и разрешение на перемещение определяется лкм.
Исходники для написания логических игр
И так, раз у нас уже несколько объектов, то я их как обычно сразу заношу в список, для проверки свободно или занято место куда я хочу переместить объект буду использовать двумерный список(изначально пустой).
Первым делом рождаем наши объекты , как экземпляры класса.
hero1 = Sp
...
Читать дальше »
|
Новая серия уроков по нахождению решений задач курсовых работ по программированию
Самые часто встречаемые задания на четвертых курсах универов - это программирование игры с появляющимися и исчезающими шариками по заданному алгоритму. Игры как таковые не представляют особого интереса у пользователей, но пользуются большой популярностью у преподавателей, так как их программирование позволяет охватить большой объём знаний языка программирования. Задания подобного рода достаточно сложны и их решения бесплатно в интернете практически не найти. Решением подобных задач никогда не занимался, поэтому приступаю к самой простой и надеюсь решить самые сложные.
УРОК 10 Перемещение объекта по клеточному полю.
...
Читать дальше »
|
УРОК 9. РАСЧЕТ СТОЛКНОВЕНИЙ БОЛЬШОГО КОЛИЧЕСТВА ОБЪЕКТОВ.
В предыдущем уроке было рассмотрено столкновение двух движущихся объектов и их изменение направления движения. При том наши объекты имели конкретные имена и по их именам(координатам спрайтов) мы и проверяли столкновения спрайтов. Теперь усложним задачу - используя известные нам по предыдущему уроку объекты при столкновении их будем порождать еще объект, при столкновении любых объектов (даже новых) будет появляться еще один объект, ну и соответственно будет присутствовать и их изменение направления движения
Исходн
...
Читать дальше »
| |