LINUX.ORG.RU

Форум на Python/Flask

 , ,


2

2

https://github.com/Lenin1917/FlaskForum - моя курсовая по информатике (WIP). Прошу обратить внимание, что я учусь не на программиста! Буду рад увидеть здесь критику принципиальных недостатков в архитектуре, а ещё сильнее буду рад, если вы скажите как исправить проблемы.


И да, для такого любительского форума, какое нибудь джанго с его встроенным орм — вполне себе годный выбор.

Фласк это такая вроде бы легкая и гибкая штука, но она местами немного странная и очень корявая.

redixin ★★★★
()
Ответ на: комментарий от Jopich1

не рассматривал - в силу отсутствия времени / неопытности.

По поводу голого sql в коде - не вижу в этом ничего плохого. Ну разве, что sql человек не знает. А если же же знания есть, да и sql сунешь в коде с умом, оборачивая его в примитивные функции - из преимуществ орм остаются миграции (думаю замена им есть), оперативная смена базы данных (как часто такое происходит? и как минимум облегчить эту смену при правильном проектировании кода можно).

Лично по мне если выбирать между изучением и использованием sql и изучением особенностей работы орм, борьбы с ними я выберу первое.

Kazun3500
()

Круто. Молодец!

Deleted
()

Сначала обмажутся статикой, а потом делают импорты в конце файла.

Что за говноархитектура? В петоне везде так?

anonymous
()

Понятно, что для студенческой работы «и так сойдёт», но я бы рекомендовал сделать следующее:

1) Вынести подключение к бд из каждой функции. Нет смысла открывать базу каждый раз, логично сделать это лишь 1 раз на старте приложения.

2) SQLite очень плохо дружит с одновременными операциями записи/чтения. Частично эту проблему можно решить, используя WAL:

conn = sqlite3.connect('users.db', isolation_level=None)
conn.execute('pragma journal_mode=wal')
cursor = conn.cursor()

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

Успехов в программировании :p

xerx
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.