Google App Engine + проверка - PullRequest
       0

Google App Engine + проверка

1 голос
/ 07 декабря 2010

Я ищу, как выполнить проверку в Google App Engine, и я нашла только то, как сделать это с помощью Django Framework.Хорошо, подход Django - это нормально, но если у меня есть одна форма, а в этой форме есть данные из нескольких таблиц, что тогда ???Я не могу сделать это следующим образом:

class Item(db.Model):
    name = db.StringProperty()
    quantity = db.IntegerProperty(default=1)
    target_price = db.FloatProperty()
    priority = db.StringProperty(default='Medium',choices=[
      'High', 'Medium', 'Low'])
    entry_time = db.DateTimeProperty(auto_now_add=True)
    added_by = db.UserProperty()

class ItemForm(djangoforms.ModelForm):
    class Meta:
        model = Item
        exclude = ['added_by']

class MainPage(webapp.RequestHandler):
    def get(self):
        self.response.out.write('<html><body>'
                                '<form method="POST" '
                                'action="/">'
                                '<table>')
        # This generates our shopping list form and writes it in the response
        self.response.out.write(ItemForm())
        self.response.out.write('</table>'
                                '<input type="submit">'
                                '</form></body></html>')
    def post(self):
        data = ItemForm(data=self.request.POST)
        if data.is_valid():
            # Save the data, and redirect to the view page
            entity = data.save(commit=False)
            entity.added_by = users.get_current_user()
            entity.put()
            self.redirect('/items.html')
        else:
            # Reprint the form
            self.response.out.write('<html><body>'
                                    '<form method="POST" '
                                    'action="/">'
                                    '<table>')
            self.response.out.write(data)
            self.response.out.write('</table>'
                                    '<input type="submit">'
                                    '</form></body></html>')

Есть ли простой способ проверить форму, содержащую данные из нескольких таблиц, или я должен кодировать ее один?

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Похоже, вы используете веб-приложение;Я предлагаю вам взглянуть на некоторые другие «легкие» варианты для проверки формы.Выберите тот, который вам нравится макет / синтаксис.При необходимости вы сможете определить сложные «вложенные» отношения.

0 голосов
/ 17 декабря 2012

WTForms имеет компонент GAE WTForms

WTForms теперь включает поддержку полей AppEngine, а также автоматическую генерацию форм. Класс формы можно использовать как есть или служить в качестве основы для расширенных классов форм, которые затем могут смешивать не связанные с моделью поля, подчиненные формы с другими модельными формами, среди других возможностей.

...