Как мне сделать стиль Rails before_filter с Google App Engine? - PullRequest
2 голосов
/ 09 июля 2010

Приложение настроено как базовое приложение WSGI. Я просто пытаюсь вызвать функцию до запуска requestHandler.

Я бы хотел что-то очень похожее на то, как before_filter работает в Rails.

Спасибо.

Ответы [ 2 ]

1 голос
/ 09 июля 2010

Вы можете установить свое "before" как Промежуточное программное обеспечение WSGI - App Engine использует WSGI, как и почти все веб-фреймворки и серверы в Python в наши дни.Вот пример - он что-то делает после запускается обработчик, но еще проще сделать их до ... в любом случае ваше промежуточное ПО "оборачивается""Приложение WSGI, которое является настоящим приложением ;-), поэтому, конечно, вы можете делать что-то до, после или вместо этого; -).

Подробнее о WSGI см. здесь .

1 голос
/ 09 июля 2010

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

def before_filter(fn):
    def inner_function(self):
        # do stuff before
        return fn(self)
    return inner_function

class MainPage(webapp.RequestHandler):

    @before_filter
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...