Какой самый быстрый способ создания веб-страниц CRUD для Google App Engine с использованием Python? - PullRequest
6 голосов
/ 24 июля 2011

Я создал набор моделей для своей базы данных, используя Python.Теперь я хотел бы быстро загрузить их с некоторыми данными - вручную.Если бы это было приложение .NET, я бы использовал один из изящных элементов управления, поставляемых с Visual Studio, для быстрого подключения к базе данных и привязки к ней сетки.Затем отправляйтесь в город, добавляя данные.

Какой подходящий способ сделать это в Python с помощью Google App Engine?

В ASP.NET MVC у них есть этот новый материал для создания лесов (частьEntity Framework), которая будет генерировать страницы CRUD для вас.Есть ли что-то подобное с данной кучей объектов Model в GAE?

PS с помощью удобных опций командной строки dandy --use_sqlite и --datastore_path, я могу быстро сделать резервную копию своей базы данных в моей среде разработчика, как только я это сделаюэто.

Ответы [ 5 ]

3 голосов
/ 25 июля 2011

Если вы используете Django в GAE, вы можете использовать сайт администрирования Django :

Так, как Джанго подходит к этим скучным, повторяющимся задачам? Оно делает все это для вас - всего за пару строк кода, не меньше. С Джанго, создание интерфейса администратора - решенная проблема.

Он автоматически создает HTML-формы на основе CRUD для управления моделью.

2 голосов
/ 26 июля 2011

Посмотрите на проект appengine admin .

Appengine Admin - это простой пакет Python, который вы можете использовать для создания автоматический интерфейс администратора для вашего приложения Google Appengine.

Вот скриншот:

enter image description here

и здесь - руководство по быстрому старту.

После создания ваших моделей просто добавьте следующую строку кода:

# Register to admin site
appengine_admin.register(..your list of class Models definition)

и после определили правильный маршрут к администратору с помощью:

(r'^(/admin)(.*)$', appengine_admin.Admin)

Вы можете получить доступ к настроенному администратору, который предлагает следующие функции:

  • Список записей для каждой зарегистрированной модели
  • Создание новых записей
  • Обновление / редактирование записей
  • Удалить записи
1 голос
/ 24 июля 2011

Я все еще что-то вроде новичка в Python и GAE, но я много работал с ним в последние несколько месяцев, так что вы можете обнаружить, что это работает:

Вы можете использовать Model.properties () , чтобы получить список свойств для рассматриваемой модели и сохранить его в списке. Затем вы можете добавить список в контекстный словарь для использования в вашем шаблоне. В вашем шаблоне итерируйте цикл, чтобы создать базовый список полей ввода с именами, соответствующими каждому свойству.

{% for tItem in list %}
    <input type="text" name="{{ tItem }}" />
{% endfor %}

Затем вы можете отправить обратно на ту же страницу, где вы можете использовать Request.arguments () , чтобы связать свойства вашего объекта с вашей моделью для сохранения в хранилище данных.

Насколько мне известно, нет более изящного решения, чем это, по крайней мере, несопоставимого с лесами ASP.NET MVC, о которых вы говорите.

(отказ от ответственности: я на самом деле не пробовал это, так что, вероятно, есть проблема или две, которые должны быть отсортированы)

0 голосов
/ 04 декабря 2014

Вы можете ознакомиться с Ferris Framework , который тесно интегрирован с ядром Google App Engine и хранилищем данных.

Ferris Framework также имеет компонент скаффолдинга для создания действий CRUD на одном дыхании.http://ferris -framework.appspot.com / документы / users_guide / scaffolding.html? Изюминка = подмости

0 голосов
/ 15 октября 2014

Проблема с Django в App Engine заключается в том, что вы не можете использовать модели хранилища данных GAE и модели ndb (поэтому администратор Django недоступен), или вам нужно начать использовать взломанную версию Django: http://django -nonrel.org/

Что ж, вероятно, для большинства приложений вам все равно лучше использовать Cloud SQL, который в основном является MySQL, поэтому нет проблем с Django.

Если вам нужно использовать хранилище данных GAE, попробуйте эту платформу, которая предоставляет администратора CRUD:
http://ferris -framework.appspot.com / документы / index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...