Flacon contexte processeurs fonctions

Suivant l'exemple minimal sur le Flacon pages que je suis en train de construire un contexte de processeur:

context_procesor.py

def inflect_this():
    def inflectorize(number, word):
        return "{} {}".format(number, inflectorizor.plural(word, number))
    return dict(inflectorize=inflectorize)

app.py(dans une application en usine)

from context_processor import inflect_this

app.context_processor(inflect_this)

À l'aide d'un précédent de l'inflexion de la fonction qui infléchit un mot basé sur le nombre, la simple j'ai déjà comme un jinja filtre mais je voulais voir si je pouvais le faire en tant que contexte du processeur.

Donné l'exemple à la bootom de la page ici: http://flask.pocoo.org/docs/templating/, cela devrait fonctionner, mais ne le fait pas. J'obtiens:

jinja2.exceptions.UndefinedError UndefinedError: 'inflectorize' is undefined

Je ne comprends pas assez de vous pour voir ce qui se passe. Quelqu'un peut me dire quel est le problème?

EDIT:

app.jinja_env.globals.update(inflectorize=inflectorize)

œuvres d'ajouter des fonctions et semble être de moins en moins de ressources que l'emballage d'une méthode dans une méthode, où l'application.context_processor probablement relais à jinja_env.globals de toute façon.

Avez-vous essayez d'utiliser le décorateur @app.context_processor pour décorer inflect_this? Elle doit être la même chose, mais peut être vaut la peine d'essayer.
Je suis de l'importation à partir d'un fichier et à l'aide d'un appfactory, si "application" n'est pas disponible et renvoie une erreur de nom si le décorateur est utilisé. Je suis en train de faire cela plus comme une prolongation. Je pense que je pourrais faire un plan et ensuite de les importer, mais ça ne semble pas correcte.
Si app n'est pas disponible alors comment voulez-vous ajouter inflect_this via app.context_processor? Qu'est-ce que app dans votre exemple?
Il est dans un autre fichier, le ci-dessus édité pour plus de précisions.
Est le "MODIFIER" à la fin de la réponse que vous avez réglé sur? S'il vous plaît poster séparément comme une réponse si vous avez l'intention d'être un.

OriginalL'auteur blueblank | 2012-12-10