Quelles sont Fiole de Plans, exactement?
Je ont lire l'officiel de la Fiole de documentation sur les Plans et même un ou deux billets de blog de les utiliser.
Je l'ai même utilisé dans mon application web, mais je ne comprends pas complètement ce qu'ils sont ou qu'ils s'inscrivent dans mon application dans son ensemble. Comment est-il semblable à une instance de mon application, mais pas tout à fait? La documentation est complète, mais je cherche un profane explication ou une analogie éclairante à étincelle pour moi. J'ai été suffisamment perplexe quand un collègue m'a demandé d'expliquer un Flacon plan que j'ai choisi de demander ici.
Vous devez vous connecter pour publier un commentaire.
Un modèle est un modèle pour créer une "section" d'une application web. Vous pouvez penser que c'est un moule:
Vous pouvez prendre le modèle et l'appliquer à votre application en plusieurs endroits. Chaque fois que vous appliquez le plan d'action permettra de créer une nouvelle version de sa structure dans le plâtre de votre application.
C'est un moule simple pour travailler avec des arbres - il dit que toute application qui traite les arbres doivent fournir l'accès à ses feuilles, ses racines, et ses anneaux (par année). Par lui-même, c'est une coquille vide, qui ne peut pas la route, il ne peut pas répondre, jusqu'à ce qu'il est impressionné lors d'une demande:
Une fois qu'elle est créée, elle peut être "impressionné" sur l'application à l'aide de la
register_blueprint
la fonction de cette "impressionne" le moule du plan d'action sur l'application à l'emplacement spécifié parurl_prefix
.oak/leaves
etfir\leaves
sera point tot le même code? Aussi, quel est le but de la chaînemold
dansBlueprint("mold", __name__)
oak/leaves
etfir/leaves
seront traitées pardef leaves
."mold"
est le nom du plan et est utilisé pour la désambiguïsation en se référant à des routes (e. g.someBlueprint.routeName
vsanotherBlueprint.routeName
).beforefirstrequest
gestionnaire (mais il y a probablement de meilleures façons.)url_prefix
dans la fonction? Dire, pour vérifier si c'est le chêne ou le sapin?tree_mold.url_prefix
me donne unNone
url_for('.relative_route_name')
(remarque le premier point). Par exemple,url_for('.roots')
fournira un correctement l'étendue de l'URL à chaque montée automatiquement les points.Comme l'a souligné dans un commentaire par @Devasish, cet article fournit une bonne réponse:
http://exploreflask.com/en/latest/blueprints.html
Citant grom l'article:
C'est une très bonne interprétation, en particulier la partie "si Facebook utilisé Flacon". Il nous donne à une situation concrète, pour visualiser le Plan fonctionne réellement.