Structuration des modèles Go dans les applications AppEngine pour les hiérarchies, la modification et le rechargement
Cet article se penche sur la structuration des modèles dans AppEngine basé sur Go applications, adressant les structures hiérarchiques, la facilité d'édition et le modèle automatique rechargement.
Structure hiérarchique
Pour créer une structure hiérarchique pour les modèles, il est recommandé de stocker les modèles dans le répertoire racine de votre package, sous un sous-répertoire dédié aux modèles. Cela permet une organisation organisée et simplifie le parcours par template.ParseFiles().
Facilité d'édition
L'intégration du texte du modèle dans les fichiers .go peut gêner l'édition à l'aide d'outils HTML. Pour résoudre ce problème, stockez les modèles sous forme de fichiers texte brut dans le sous-répertoire des modèles. Bien qu'il soit recommandé de ne pas télécharger de modèles directement en raison de problèmes de performances, il existe des approches alternatives.
Rechargement automatique
Le rechargement automatique des modèles sur le serveur de développement peut être réalisé en définissant une variable de modèle au niveau du package. Cette variable est renseignée lors de l'initialisation du package et mise à jour lors de toute modification du modèle.
Exemple de structure de projet
Considérez la structure de projet suivante :
|-- app.yaml |-- app | +-- http.go |-- templates | +-- base.html +-- github.com +-- storeski +-- appengine |-- products | +-- http.go | +-- templates | |-- list.html | |-- detail.html +-- account |-- http.go +-- templates |-- overview.html |-- notifications.html
Approche modulaire avec propriété des packages
L'approche recommandée implique l'utilisation de packages pour gérer une URL spécifique préfixes. Chaque package possède un sous-répertoire de modèles dédié où résident ses modèles. Cette modularité permet une gestion des modèles spécifiques aux fonctionnalités du package.
Extension d'un modèle de base
Pour maintenir la cohérence, établissez un modèle de base que d'autres modèles peuvent étendre. Par exemple, vous pouvez définir un modèle templates/base.html et en faire hériter d'autres modèles à l'aide de la fonction de modèle étendu.
Exemple de code
Voici un exemple de définir un modèle de base et analyser des modèles supplémentaires dans un gestionnaire :
templates/base.html
<!DOCTYPE HTML> <html> <head>
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!