Votre ont demandé une requête très authentique:
Comme vous l'avez dit en php nous suivons ce modèle tout en rendant les routes et les contrôleurs:
http://host/ {controller}/{method}/{parameter}
.
Objectif principal pour faire ce modèle est de rendre l'URI unique, pour chaque ressource.
Ici, dans odoo, il n'y a pas de restriction sur le placement du contrôleur/méthode dans la route URL. Odoo vous donner la liberté/puissance de faire le parcours et comme vous savez que la puissance vient toujours avec la responsabilité, est donc la responsabilité du développeur pour s'assurer que deux routes ne sont pas en conflit les uns avec les autres.
Dans le même temps l'url devrait SEO friendly aussi.
Dans notre équipe nous coulons habituellement module/modèle/méthode.
Par exemple: i have A:
- nom du module
academy
Module
- ont un enseignant modèle [
_name='academy.teacher'
]
- modules ont un étudiant modèle [
_name='academy.student'
]
- modules ont un cours de modèle [
_name='academy.course'
]
- Pour afficher la liste de f enseignants dans la vue de la grille, nous créons la comme modèle url :
/academy/teachers
- Pour afficher la liste l'enseignant nous créons l'URL modèle comme:
/academy/teacher
- pour la création de l'enseignant:
/academy/teacher/create
- Pour afficher la liste des étudiants dans la vue de la grille, nous créons le modèle url comme:
/academy/students
- Pour afficher la liste l'enseignant, nous créons l'URL modèle comme:
/academy/student
- Pour afficher la liste des cours en vue de la grille, nous créons le modèle url comme
/academy/courses
- Pour afficher la liste l'enseignant, nous créons le modèle url comme:
/academy/course
Soit est un exemple en direct:
Pour afficher l'ordre /shop/cart
@http.route(['/shop/cart'], type='http', auth="public", methods=['POST'], website=True)
def cart(self, product_id, add_qty=1, set_qty=0, **kw):
pass
Pour mettre à jour l'ordre /shop/cart/update
:
@http.route(['/shop/cart/update'], type='http', auth="public", methods=['POST'], website=True)
def cart_update(self, product_id, add_qty=1, set_qty=0, **kw):
pass
Dans le cas si vous voulez créer un gestionnaire de requêtes JSON type='json'
pour boutique panier mise à jour /shop/cart/update_json
@http.route(['/shop/cart/update_json'], type='json', auth="public", methods=['POST'], website=True)
def cart_update_json(self, product_id, line_id=None, add_qty=None, set_qty=None, display=True):
pass
Comme vous l'avez dit vous êtes un plus frais je voudrais aussi vous suggérer quelques liens utiles:
- FOR ODOO GuideLine.
- FOR ODOO WEBSITE MODULE
- FOR ODOO Http handler
- FOR ODOO BACKED MODULE
Hope this peut vous aider dans le modèle de sous-estimer URL de Odoo.
Merci Prakash, J'ai créé un module personnalisé nommé test, sous lequel les contrôleurs, modèles, modèles sont sous contrôleurs, modèles, dossiers de données. dans mon __openerp__.py, le champ de données est défini sur 'data/templates.xml'. Maintenant, je rends le modèle du contrôleur en utilisant le retour http.request.render ('test.listing', {}). Dans mon fichier data/templates.xml, j'ai
bonjour
avec les données et les tags openerp au dessus d'eux. quand je lance ceci, j'obtiens l'erreur 'QWebTemplateNotFound: ID externe introuvable dans le système: test.listing'. Pouvez-vous m'aider s'il vous plaît ce que je fais mal. Vraiment apprécié. – user280960incluent data/templates.xml. dans opener.py et redémarrez votre serveur – prakash
Salut Prakash, J'ai inclus le fichier dans __openerp__.py comme: 'data': ['data/templates.xml'] – user280960