LINUX.ORG.RU

Django автоматизация

 


0

5

тут делал бекап и rsync споткнулся на вот таких выкидышах manage.py collectstatic

STATIC/admin/css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/changelists.css/dashboard.css/dashboard.css

страшно подумать чего она ещё наавтоматизировала

★★★

Ответ на: комментарий от fMad

Да я тоже клепаю сайты на ней, таких проблем не встречаю.

Очевидно, что ты в конфиге что-то напутал.

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

ну из лога видно, что STATIC_ROOT = os.path.join(DJANGO_ROOT, 'STATIC')

и что это статика даже не моя, а джанговская

зы: просто она уже бесит, ни какой свободы, сплошные рецепты и огороды

fMad ★★★
() автор топика
Последнее исправление: fMad (всего исправлений: 2)
Ответ на: комментарий от fMad

зы: просто она уже бесит, ни какой свободы, сплошные рецепты и огороды

Глянь в сторону Flask. Сам на него с джанги перебежал.

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

а не было мысли взять из джанги ништяки и выбросить какашки?
у меня наверно стандартный набор отношений с джангой
напротив крутости админки стоит выдающаяся сложность её переработки: если проще сделать новую, то отпадает плюс крутой дефолтной админки!

при всей крутости ORM и его связи с шаблонами, часто проще написать запрос руками и тогда отпадают все плюсы ORM.

но очень нравится использовать ORM для одновременной работы с sqlite&&mysql&&mssql!

да там круто с формами работать, но если нужны особые формы, а именно они и нужны всё время, то на создание forms.py уходит больше времени чем на создание формы с нуля

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

чем дальше в лес тем чаще вижу, что я не пишу сайт на Django, а сражаюсь с Django, сражаюсь с системой управления пакетами джанга, с ORM, с наследованием, со сменой концепций

вижу лишь одну нишу для неё, когда компания берёт её как свой стандарт и в требованиях к работникам привязывает к Django зарплатой. тогда можно легко манипулировать ими, мол ты чё тупой, это же джанга, читай маны пока не сделаешь или не сдохнешь (сам видел такое).

ps: может у меня что-то в мышлении не так устроенно и от этого такое отношение к таким фреймворкам

fMad ★★★
() автор топика
Последнее исправление: fMad (всего исправлений: 2)
Ответ на: комментарий от fMad

при всей крутости ORM

После алхимии я так и не понял крутость.

Как выше сказал Siado попробуй Flask, стильно, модно, молодёжно, тепло, сухо и ничего не прибито гвоздями.

ggrn ★★★★★
()

Больше похоже на косяк разраба.

voskhod
()
Ответ на: комментарий от pi11

примеры чего? проблем?

да проблем нет, всё решается путём выкуривания манов, гугла, чтения исподников на гитхабе в больших дозах, просто терпение заканчивается

fMad ★★★
() автор топика
Последнее исправление: fMad (всего исправлений: 1)
Ответ на: комментарий от fMad

да проблем нет, всё решается путём выкуривания манов

Собственно, я так и думал.

Маны кстати в джанге очень неплохие.

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

Привыкай. Илья у нас такой «пейсатель». Был им. Есть им. И им останется.

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

а не было мысли взять из джанги ништяки и выбросить какашки?

Было, в принципе это делать можно, но тогда от жанги остается только пол конфига и соглашение по расположению файлов.

Дело в том, что я делаю web-ориентированные приложения по учету всякой делопроизводственной ерунды - калькуляторы для юристов, учет платежей, начисления по договорам и т.д.. Когда использовал джангу - сразу же приходилось отказаться от запросов через жанговский орм и делать нормальные raw-запросы, иначе нет пути. А где рав-запросы, там уже такое:

очень нравится использовать ORM для одновременной работы с sqlite&&mysql&&mssql!

не прокатит. В прочем если все взвесить - то есть две БД, которые действительно необходимо использовать: sqlite для простых проектов, где количество одновременных пользователей не превышает 5-20 человек и postgres для всего остального.

Если не стараться заточить свой софт на узкоспецифические прибамбасы базы данных - то синтаксис SQL везде одинаковый.

Многие переходят на использование какого-нибудь SQLA и умудряются присобачить его к жанге, теряя админку, но оставляя за собой возможность менять БД, но я считаю, что такой подход рождает лишние сущности в виде не нужной SQLA(как и любой другой ORM), настоящее призвание которой потратить время на ее изучение и неимоверно усложнить код.

да там круто с формами работать, но если нужны особые формы, а именно они и нужны всё время, то на создание forms.py уходит больше времени чем на создание формы с нуля

Редко в джанге использовал родные формы. Больше гемора, гораздо нагляднее написать пару необходимых html-строк. Применимо к фласку, те кто хочет автоматом генерить формы - могут использовать WTForms.

Вообще джанго хорошая для быстрого поднятия статейных сайтов, но делать на ней что-то более функциональное гораздо сложнее, чем на минималистичных фремворках.

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

я делаю web-ориентированные приложения по учету всякой делопроизводственной ерунды


такая же ерунда ... формы надо как вот тут, а не так как принято во всём интернете, связь вот этого с той фигнёй и чтобы вот так

ну вот надо подключаться и делать импорт/экспорт через odbc, потому что mssql дефакто ..., с этим ORM я даже как то забыл про геморой с лимитами у mssql

у меня есть формы на ~200 полей, я сутки был счастлив когда Django сгенерировала рабочую форму через inspectdb, пока не попробовал привести её к нужному виду

fMad ★★★
() автор топика
Последнее исправление: fMad (всего исправлений: 1)
Ответ на: комментарий от fMad

mssql

Печальная штука. Не берусь за проекты, в которых нужно страдать этой ерундой и городить костыли.

Вообще давно не встречал где mssql явно может понадобиться, тот же обмен данными с 1С, который очень часто присутсвтует в ТЗ легко делается через XML. Не говоря уже о том, что 1С умеет постгрес.

А разве джанговский орм вообще поддерживает mssql?

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

у меня есть формы на ~200 полей

Тут можно сказать только одно: это не правильно =)

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

умеет через odbc/freetds

у меня выбора нет, либо dbf(что чаще всего) либо mssql, я смирился и проспособился

Тут можно сказать только одно: это не правильно =)

ну такова структурная единица, я разбил на табы, но суть это одна форма

fMad ★★★
() автор топика
Последнее исправление: fMad (всего исправлений: 1)
Ответ на: комментарий от fMad

В вашем посте много правды, но проблема в том, что есть ряд проектов которые мне заменить, на подавляющем большинстве легких платформ, просто нечем. Например я не знаю чем можно заменить tastypie или celery.

В целом я согласен - джанго устарела. Она не поддерживает аснихронные обработки, она не поддерживает нереляционные ОРМы и у нее нет «ис каропки» RestAPI. Это главные вызовы современных веб-приложений на которые джанге ответить нечем. Причем на первые два - нечем ответить принципиально

Да все это так. Но беда в том, что прикладные фреймворки за один день не пишутся! Нетрудно, к примеру, взять очень вкусно-асинхронный Торнадо, но вот сочинить на нем что-то адекватное на замену Tastypie куда сложнее! И так буквально со всем, с чем лично я имею дело.

k0valenk0_igor ★★★
()
Последнее исправление: k0valenk0_igor (всего исправлений: 1)
Ответ на: комментарий от k0valenk0_igor

А разве джанговский орм вообще поддерживает mssql

Да поддерживает, - есть такой бакэнд

Во всяком случае из коробки нет:

ENGINE

Default: " (Empty string)

The database backend to use. The built-in database backends are:

'django.db.backends.postgresql_psycopg2' 'django.db.backends.mysql' 'django.db.backends.sqlite3' 'django.db.backends.oracle'

You can use a database backend that doesn’t ship with Django by setting ENGINE to a fully-qualified path (i.e. mypackage.backends.whatever). Writing a whole new database backend from scratch is left as an exercise to the reader; see the other backends for examples.

Разве что существует сторонняя наработка

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

Попробовать юзать Flask. Вполне подходит для любого размера приложений. И SQLAlchemy и Jinja2 сильно функциональнее своих аналогов в Django. Flask хорошо себя чувствует внутри гринлета и под торнадо. Для REST есть https://flask-restless.readthedocs.org/en/latest/ или http://flask-restful.readthedocs.org/en/latest/ для формс WTForms.

northicewind
()
Ответ на: комментарий от northicewind

ага, я тоже понял что штука вкусная

я прямо во флекс смогу сконвертировать свои велосипеды

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

Flask дает сильно больше свободы. А Django отлично работает пока нужны CRUD приложения. Как только шаг влево/вправо начинается битва с самим фреймворком. Та же админка сделана довольно криво. Много хардкода, а если все подряд переопределять, то можно поломать сторонние приложения. В итоге админку многие не юзают на более - менее больших проектах. Ну а для остального аналогов хватает.

northicewind
()
Ответ на: комментарий от northicewind

Flask хорошо себя чувствует внутри гринлета и под торнадо

Это очень сильный довод, без вебсокетов - вешалка.

Для REST есть https://flask-restless.readthedocs.org/en/latest/ или http://flask-restful.readthedocs.org/en/latest/ для формс WTForms

Когда я смотрел в его сторону у него этого не было.... но теперь, как я вижу, ситуация изменилась, - спасибо за наводку

Я на данный момент, использую чистый торнадо и допиливаю, - ибо там кое-чего не хватает, - вот этот проект https://github.com/rancavil/tornado-rest Но я обязательно поработаю и с Flask'ом теперь

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

Та же админка сделана довольно криво. Много хардкода

Много раз слышал, ни разу не видел примеров. Знаю, что найти можно, но хотелось бы всё-таки услышать что-то конкретное.

anonymous
()
Ответ на: комментарий от anonymous

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

Для начала нормальную локализацию. Через каждые пол метра кнопки и надписи без возможности локализации. Очень неудобная работа с инлайн формами. Нужно сильно пилить, чтоб сделать прилично. Нет dashboard. Хоть и решается с помощю admin-tools и, частично, grappelli, но сам admin-tools обновляется очень неторопливо. Нет нормального управления древовидными структурами данных. И т.д.

Все проблемы можно решить. Часть сторонними приложениями, часть своими силами. Тут главное не грубить с кастомизацией иначе и от сторонних приложений придется отказаться. Но все решения похожи на подпирание костылями и все равно сквозь них торчит джанговская админка.

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