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

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

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

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

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

5 ответов


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

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

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


посмотрите на appengine админ.

Appengine Админ простой пакет 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)

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

  • список записей для каждой зарегистрированной модели
  • создавать новые записи
  • обновление/редактирование записей
  • удалить записи

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

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

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

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

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

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


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

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

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


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

рамки Ferris также имеют компонент лесов для создания действий CRUD в ветре. http://ferris-framework.appspot.com/docs/users_guide/scaffolding.html?highlight=scaffolding