Maison > développement back-end > Golang > le corps du texte

Comment puis-je accéder au contexte de la demande dans les modèles Go ?

DDD
Libérer: 2024-10-26 11:15:29
original
834 Les gens l'ont consulté

How Can I Access Request Context in Go Templates?

Contexte de demande de passage dans les modèles Go

Dans les modèles HTML Go, l'accès aux informations de la requête qui a déclenché son exécution n'est pas simple. Cela peut être problématique lorsque vous devez appliquer une logique conditionnelle basée sur les attributs de l'utilisateur, par exemple pour déterminer si un utilisateur est un administrateur.

Pour relever ce défi, l'approche privilégiée consiste à utiliser le mécanisme de pipeline de données. En intégrant le contexte de la demande dans la structure de données de votre modèle, vous pouvez accéder aux informations spécifiques à la demande dans le modèle.

Par exemple, disons que vous souhaitez afficher un lien vers un « bouton nucléaire » restreint uniquement si l'utilisateur est un administrateur. Dans ce cas, vous pouvez structurer les données de votre modèle comme suit :

<code class="go">type TemplateData struct {
    Content       *Content
    Context       *Context
    IsUserAdmin   bool
}</code>
Copier après la connexion

Dans votre modèle, vous pouvez ensuite utiliser la variable IsUserAdmin pour afficher le lien de manière conditionnelle :

<code class="html">{{if IsUserAdmin}}
    <a href="/admin/nuke">Go to the big red nuclear button</a>
{{end}}</code>
Copier après la connexion

Cette approche transmet efficacement les informations spécifiques à la demande dans le modèle sans mélanger la logique dans la vue. Il permet de conserver la séparation entre le contrôleur, qui gère la logique de l'application, et le modèle, qui gère le rendu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!