Comment définir intelligemment les objets couramment utilisés dans View

Les objets couramment utilisés dans chaque vue de l'application Pyramid peuvent être définis intelligemment à l'aide du mécanisme d'objet racine.

class RootResource(object):
    u"""Ressource racine de l'application
Puisque Traversal n'est pas utilisé, il est passé à View en tant que contexte tel quel.
    """

    __name__ = None
    __parent__ = None
    __acl__ = []

    def __init__(self, request):
        self._repos = {
            'user': UserRepository(),
        }

    @property
    def repos(self):
        u"""Chaque référentiel est fourni via un dictionnaire"""
        return self._repos

Si vous le transmettez à l'argument root_factory dans la définition de l'application,

config = Configurator(
    settings=settings,
    root_factory="foo.resource.RootResource"
)

Vous pouvez accéder aux dépôts depuis la vue comme suit:

@view_config(route_name="user_detail")
def user_detail(context, request):
    user_repo = context.repos['user']
    user = user_repo.getById(...)
    return ...

référence

Recommended Posts

Comment définir intelligemment les objets couramment utilisés dans View
Comment afficher les images dans l'administration de Django
Comment supprimer des pages dont l'accès est refusé dans Selenium + Headless Chrome
Comment comparer si le contenu des objets dans scipy.sparse.csr_matrix est le même
Comment définir votre propre cible dans Sage
Comment obtenir plusieurs objets de modèle au hasard dans Django
Comment définir Decorator et Decomaker avec une seule fonction
des modèles de tracé et de mise en page qui sont susceptibles d'être utilisés dans les diagrammes de dispersion
Comment utiliser le bootstrap dans la vue de classe générique Django
Comment télécharger des fichiers dans la vue de classe générique Django
Comment écrire des conseils de type pour les variables qui sont affectées plusieurs fois sur une ligne
Comment tester cette exception est déclenchée dans python unittest
Comment définir plusieurs variables dans une instruction Python for
Essayez d'extraire les mots-clés populaires dans COTOHA
Résumé de l'écriture des fichiers .proto utilisés dans gRPC
Comment définir les variables Go
Comment développer en Python
Expressions régulières faciles et solides à apprendre en Python
[Python 3.8 ~] Comment définir intelligemment des fonctions récursives avec des expressions lambda
Comment déterminer qu'une clé croisée a été entrée dans Python3
Téléchargez et gérez les packages qui ne sont pas dans conda sur anaconda.org
J'ai essayé de résumer les méthodes qui sont souvent utilisées lors de l'implémentation d'algo de base dans Quantx Factory
[Python] Comment faire PCA avec Python
Comment gérer une session dans SQLAlchemy
Comment utiliser les classes dans Theano
Comment écrire sobrement avec des pandas
Comment collecter des images en Python
Comment mettre à jour Spyder dans Anaconda
Comment utiliser SQLite en Python
Comment convertir 0,5 en 1056964608 en un seul coup
Comment refléter CSS dans Django
Comment tuer des processus en vrac
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
6 façons d'enchaîner des objets en Python
Comment utiliser PubChem avec Python
Comment exécuter du code TensorFlow 1.0 en 2.0
Comment gérer le japonais avec Python
Comment se connecter à Docker + NGINX
Comment appeler PyTorch dans Julia
[Introduction à Python] Comment supprimer des lignes qui remplissent plusieurs conditions dans Pandas.DataFrame
Pour trouver le nom de la vue avec l'espace de noms à partir de l'URL (path_info) dans Django
Comment écrire une chaîne de caractères lorsqu'il y a plusieurs lignes en python
Comment masquer les avertissements qui n'affectent pas l'exécution dans Jupyter Notebook