В общем мистика: Когда я вместо функции index() использую класс WomenHome, то при добавлении нового поста он не добавляется на главной странице. Если перейти на страницу категории, к которой принадлежит новый пост, то на странице категории пост отображается. В админке отображается, пост опубликован, через шелл пост так же отображается. Но именно на домашней странице новые посты не появляются, будто страница закеширована и не обращается к БД (но я проверил, кэш пустой). При этом в Django Debug Toolbar я вижу, что выполняется всего 2 SQL-запроса - по категориям и по тегам, по постам запрос не выполняется. Ощущение, будто происходит "ленивый запрос". При использовании функции index() выполняется, как положено, 3 запроса к БД. Вероятно, это поведение зашито в базовом классе, но не нашел, где. Если кто-то это читает, проверьте у себя, у вас так же или это у меня глюк?
UPD: Если рестартануть сервер, то новые посты появляются на домашней странице. Но при создании нового поста он опять не появляется на главной (запроса в БД не происходит). При рестарте сервера при первом обновлении главной страницы происходит 3 SQL-запроса (к модели тэгов, категорий и постов), затем, сколько не обновляй страницу, происходит 2 SQL-запроса к моделям категорий и тегов (к модели постов Women запроса не происходит до следующего перезапуска сервера)
Да, не обновляется главная страница в пункте "Все категории" при использовании extra_context. Но если переопределять get_context_data и собственно context, то все нормально обновляется без ленивых запросов. Черт его знает почему. def get_context_data(self, **kwargs): """наглядная демонстрация""" context = { 'title': 'Главная страница', 'menu': menu, 'posts': Women.objects.filter(is_published=1).select_related('cat'), 'cat_selected': 0, } return context
Спасибо за ваш труд. Скажите пожалуйста, вы не смотрели книгу Владимира Дронова "Django 4 Практиика сщздания веь-сайтов на Python" ? Если вы с ней знакомы, очень хотедось бы ваше мнение услышать. Спасибо заранее
10:15 уточните пожалуйста, динамические данные это исключительно параметры, дополнительно добавленные в гет запрос пользователем? нужно ли их вообще учитывать при создании своего сайта, или есть какие-то сценарии, при которых такое пользователю понадобится?
@@selfedu_rus Сергей, насколько я понимаю, это не касается динамических url? Такая ссылка ведь тоже становится известна только в момент запроса. Ранее мы их обрабатывали дополнительным параметром в функции представления, а здесь пока не понятно, как с ними быть. Надеюсь, что в курсе дальше это будет. Спасибо за видео, мне очень нравится!
У меня, почему-то не окрашиваются в др цвет. когда я в адресной строке дописываю /?cat_id=3, то строка Спортсменки должна быть синим цветом, у меня это не работает хотя я принтую в get_context_data print('context: ', context['cat_selected']) цифры приходят, но цвета не менются. Я сверил с оригиналом кода урока и templates/base.html women/templatetags/women_tags.py Ни чего не нашел, может особенность браузера
Спасибо, Сергей! Здоровья тебе🤝
Спасибо. Движемся вперед!
Сергей, огромное вам спасибо за ваши уроки!
Спасибо, это отличные видео по Django!!
Спасибо за урок!
Круто, спасибо!
Спасибо!
В общем мистика:
Когда я вместо функции index() использую класс WomenHome, то при добавлении нового поста он не добавляется на главной странице. Если перейти на страницу категории, к которой принадлежит новый пост, то на странице категории пост отображается. В админке отображается, пост опубликован, через шелл пост так же отображается. Но именно на домашней странице новые посты не появляются, будто страница закеширована и не обращается к БД (но я проверил, кэш пустой).
При этом в Django Debug Toolbar я вижу, что выполняется всего 2 SQL-запроса - по категориям и по тегам, по постам запрос не выполняется. Ощущение, будто происходит "ленивый запрос". При использовании функции index() выполняется, как положено, 3 запроса к БД.
Вероятно, это поведение зашито в базовом классе, но не нашел, где.
Если кто-то это читает, проверьте у себя, у вас так же или это у меня глюк?
UPD: Если рестартануть сервер, то новые посты появляются на домашней странице. Но при создании нового поста он опять не появляется на главной (запроса в БД не происходит). При рестарте сервера при первом обновлении главной страницы происходит 3 SQL-запроса (к модели тэгов, категорий и постов), затем, сколько не обновляй страницу, происходит 2 SQL-запроса к моделям категорий и тегов (к модели постов Women запроса не происходит до следующего перезапуска сервера)
У меня тоже. А если сделать через get_context_data - то тогда нормально все.
Да, не обновляется главная страница в пункте "Все категории" при использовании extra_context.
Но если переопределять get_context_data и собственно context, то все нормально обновляется без ленивых запросов. Черт его знает почему.
def get_context_data(self, **kwargs):
"""наглядная демонстрация"""
context = {
'title': 'Главная страница',
'menu': menu,
'posts': Women.objects.filter(is_published=1).select_related('cat'),
'cat_selected': 0,
}
return context
Спасибо за ваш труд. Скажите пожалуйста, вы не смотрели книгу Владимира Дронова "Django 4 Практиика сщздания веь-сайтов на Python" ? Если вы с ней знакомы, очень хотедось бы ваше мнение услышать. Спасибо заранее
Здравствуйте! Нет, не читал.
10:15 уточните пожалуйста, динамические данные это исключительно параметры, дополнительно добавленные в гет запрос пользователем? нужно ли их вообще учитывать при создании своего сайта, или есть какие-то сценарии, при которых такое пользователю понадобится?
это параметры, которые появляются только в момент поступления запроса (до этого они неизвестны)
@@selfedu_rus Сергей, насколько я понимаю, это не касается динамических url? Такая ссылка ведь тоже становится известна только в момент запроса. Ранее мы их обрабатывали дополнительным параметром в функции представления, а здесь пока не понятно, как с ними быть. Надеюсь, что в курсе дальше это будет. Спасибо за видео, мне очень нравится!
Если видео до сих пор выходят а курс на степике завершён, значит на степике не будет всех видео ?
наоборот )
о. наконец-то)
720р?
👍
У меня, почему-то не окрашиваются в др цвет.
когда я в адресной строке дописываю
/?cat_id=3, то строка Спортсменки должна быть синим цветом, у меня это не работает
хотя я принтую в get_context_data
print('context: ', context['cat_selected'])
цифры приходят, но цвета не менются.
Я сверил с оригиналом кода урока и
templates/base.html
women/templatetags/women_tags.py
Ни чего не нашел, может особенность браузера
Спасибо!