Выполнение CRUD в Turbogears

Есть ли какие-либо хорошие пакеты или методы для создания обширных интерфейсов CRUD (создание-получение-обновление-удаление) в платформе Turbogears. Виджет FastDataGrid слишком похож на черный ящик, чтобы быть полезным, а CRUDTemplate выглядит больше проблем, чем прокатка моего собственного. Идеи? Предложения?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
0
1 352
4

Ответы 4

Хотя CRUDTemplate выглядит довольно сложным, я бы сказал, что вы можете реализовать CRUD / ABCD, используя практически любой ORM, который вы выберете. Это просто зависит от того, сколько из них вы должны автоматизировать (что обычно означает определение моделей / схем заранее). Вы можете узнать больше и лучше контролировать, если создадите собственный, используя SQLAlchemy или SQLObject, оба из которых отлично работают с TurboGears.

Я очень ненавижу генераторы кода, что, если вам нужно что-то настроить, а затем нужно восстановить, потому что ваша модель изменилась?

Jorge Vargas 02.10.2009 10:48

После того, как мы еще немного покопались и взломали, оказалось, что добавить интерфейс Cakewalk в приложение не так уж и сложно. Это некрасиво без большого количества работы, но работает сразу.

Cakewalk? Вы, наверное, имеете в виду Catwalk. В TG1 немного битый. В TG2 это круто, так как он основан на sprox. Хотя вы должны использовать tgext.admin напрямую.

Jorge Vargas 02.10.2009 10:35

Вам действительно стоит взглянуть на sprox (http://sprox.org/).

Он основан на RESTController, очень прост, хорошо документирован (imo), генерирует формы и валидацию «волшебным образом» из вашей базы данных и оставляет вам минимум кода для написания. Мне очень нравится с ней работать.

Надеюсь, это вам поможет :)

sprox отлично справляется с созданием CRUD.

Jorge Vargas 02.10.2009 10:37

Итак, вам нужен CRUD. Лучший способ добиться этого - использовать инструмент, убирающий весь неубедительный код. Этот инструмент называется tgext.admin. Однако вы можете использовать его на нескольких уровнях.

  • Подиум2, конфигурация по умолчанию для tgext.admin, которая учитывает вашу модель быстрого запуска.
  • AdminController, это возьмет все ваши модели (или их список) и создаст CRUD для всех из них.
  • CrudRestController возьмет один объект и создаст для него CRUD.
  • RestController возьмет один объект и предоставит вам только REST API, то есть никаких форм или отображения данных.
  • простой Sprox, вы дадите ему объект и, в зависимости от используемого вами базового класса, вы получите форму neww или редактирование, или представление таблицы, или представление отдельной записи.

Другие вопросы по теме