8. Создание блога на Flask (уроки) - Поиск и форма создания поста

preview_player
Показать описание
Мои курсы:
Boosty:

Patreon:

Уроки по Flask. Введение в создание сайтов на Python при помощи фреймворка Flask на примере блога. Используется Python 3.

Реализация простого поиска по заголовкам и содержанию статей.
HTML-формы для создания постов.

*** ИСХОДНЫЙ КОД ***
Основных проектов доступен в Patreon:
***

------

🔷 Для донатов. Всегда очень признателен за это:

Также может пригодиться:

★ Важно:

Как читать Traceback Python:

Работа с ошибками на примере двух нерабочих парсеров:

★ Все серии “Уроков создания блога на Flask”

1. "Демка проекта"

2. Подготовка к работе

3. Cоздание приложения, HTML шаблоны

4. Наследование шаблонов

5. Blueprints

6. Cоздание постов (модели) и SQLAlchemy

7. Миграции, теги, связь тегов и постов

8. Поиск и форма создания поста

9. Добавление постраничной навигации

10. Форма редактирования постов и админка

11. Авторизация админа, базовая кастомизация админки

12. Страница 404, кастомный CSS

★ Плейлисты:

Django 2.x:

Боты для Телеграма:

Python casts:

Работа с API Вконтакте:

Серия уроков Flask для начинающих. Изучаем создание сайтов на Flask на примере блога.

#Flask #урокиFlask #проектНаFlask
Рекомендации по теме
Комментарии
Автор

Хорошие уроки. Всё доходчиво объясняешь. А я чем дальше изучаю Flask, тем быстрее хочу вернуться к Django

yqdngjp
Автор

8 урок - done
Полёт нормальный. Благодарочка автору

odsmplf
Автор

Олег, спасибо большое за видео. Отлично как всегда! :)

vasiliyk
Автор

Спасибо вам! Отличный урок!!! Продолжайте в том же духе

timurabdymazhinov
Автор

Олег, не знаю разбирались ли почему не сортировались посты, созданные через консоль. На всякий случай оставлю: Сортировки не получалось потому-что посты в базу вносились с одним и тем же временем созданием, а именно временем когда мы ввели в консоль команду from app import db.

Alkanpheltakai
Автор

Если нечаянно записать пустой пост :), то в бд в таблице post появится запись с пустым title, а в slug будет лежать null. В итоге будет ошибка при редиректе на индексную страницу т.к. ссылки постов строятся по слагу постов.

werkzeug.routing.BuildError: Could not build url for endpoint 'posts.post_detail'. Did you forget to specify values ['slug']?

vasiliyk
Автор

Я смотрю тут многие хапанули с пустыми постом))) топ тема, скилл растёт, автору спасибо!!!

Zarkaltair
Автор

Для правильной записи данных в базу, желательно перед блоком try: (в блюпринте, ф-ция post_create()) сделать проверку if title: . В таком случае не будет записываться пустое значение title.

rbnkzyx
Автор

пока всё мега круто, очень сложно только разобраться в путях, где мы указываем posts как путь к папке, или к блюпринту, или к списку постов. здесь же задался вопросом, как при создании поста добавить тэги из существующих, или создать новые. для понимания процесса, стоит самостоятельно создать подобный сайт используя другие имена и названия, что б в голове отложились пути и методы этой паутины ссылок друг на друга

ankhmarcius
Автор

Задавать время создания поста, луче так:
from sqlalchemy.sql.functions import current_timestamp
created = db.Column(db.DateTime, default=current_timestamp())
тогда не будет бага с сортировкой.

igorbo
Автор

Олег, а можно ли как-то добавить поиск и по тегам тоже?

qnvotvs
Автор

Если в base.html добавить поисковой форме action="{{ url_for('posts.index') }}", то поиск будет работать с любой страницы а не только со страницы /blog

wiRUzA
Автор

Олег подскажи пожайлуста занимаюсь по твоим урокам, также читаю техническую документацию по Flask. C английским пока на вы, но доукментация только на английском со словариком. Пусть немного но без английского некуда. Разбираю твои уроки очень подробно, по каждому пишу себе конспект. Дальше обязательно 2 или 3 раза переписываю код. Сейчас буду приступать к разработке соего блога. Но пока все равно не понимаю масштаба и возможности фреймворка.У меня очень много уходит времени на разбор. Хотелось бы представлять. Какая часть от полного понимания Flask разобрана в твоем курсе из 12 уроков. И что посоветуешь после этого курса. Написать свой полноценный блог и переходить к джанго? Или прокачивать дальше Flask?

rendle
Автор

Олег, привет! Отличный курс. Я пришел из академической сферы и применял Питон исключительно для анализа и визуализации. Короче скукотища :) Но у меня вопрос. Я не могу разобраться как добавлять картинки в тело поста (нужен класс ImageUploadField?). И как вообще можно кастомизировать админку, чтобы была возможность форматировать текст (выравнивание текста, добавление заголовков 2-го уровня, добавление линков, и т.д.)? Спасибо.

dmytroostapchuk
Автор

у меня поиск работал только из владки Blog, пока я к кнопке поиска на базовом шаблоне не добавил свойство formaction={{url_for('posts.index')}}, скажите так и должно быть?

dhccswc
Автор

23:45 - как мы прокручиваемся через поля объекта?
Объект разве итерабельный?

luckcode
Автор

У меня при вводе данных через консоль
p.created не работало,

а сработало
p.create

и в коде posts = тоже не сработало, вместо него:

posts =

ArtemkaRocks
Автор

А зачем, когда вы создавали сессию db.session.add(post), передали в нее 'post'. откуда он взялся и зачем он нужен?

qjtdwqu
Автор

скажите а как осуществить поиск не постов а чего нибудь другого. Допустим дан текст и нужно найти какое нибудь слово. Вот как это сделать?

artemlabinio
Автор

А как добавить редактор текста в форму поста, подскажите куда копать?

viktorm