/ / angularjs incapable de trouver le répertoire des modèles, flask comme backend - angularjs, flask, angularjs-directive

angularjs incapable de trouver le répertoire des modèles, la fiole en tant que backend - angularjs, fiole, angularjs-directive

J'utilise flask comme backend et angularjs côté client

ma structure de répertoires:

rosée:

  ->app.py

->templates
->hello.html
->test.html

->static
->js
->directives.py
->lib
->angular.js

mon fichier app.py:

from flask import Flask, make_response,render_template
@app.route("/aboutUs")
def aboutUs():
return render_template("test.html", title="test page")

mon fichier directives.py:

angular.module("components",[])
.directive("helloWorld",function($scope,$log){
$scope.$log = $log;
return{
restrict:"A",
templateUrl:"templates/hello.html"
}
})

angular.module("testApp",["components"])

Flask a pu rendre le modèle test.html correctement, mais angulaire montrait hello.html, erreur de modèle introuvable

Réponses:

8 pour la réponse № 1

1. Modèle Jinja

Si hello.html contient le balisage Jinja2 alors c'est un modèle et doit être rendu par Flask. Ajouter un @app.route pour le rendre.

@app.route("/hello")
def hello():
return render_template("hello.html")

Pointez ensuite sur le hello URL dans la directive angulaire.

templateUrl: "{{ url_for("hello"}} }}"

2. Modèle angulaire

Si le fichier contient uniquement du HTML (pas de balisage Jinja2), ce n'est pas un modèle. Il ne devrait pas être templates dossier mais dans le dossier statique; comme static/angular_templates/hello.html.

Pointez ensuite sur le fichier statique dans la directive.

templateUrl: "{{ url_for("static", filename="angular_templates/hello.html") }}"