未找到 HTML 模板 [英] HTML template not found
问题描述
当我尝试从我的模板文件夹加载注入的页面时,我收到页面未找到错误.index.html 页面是我启动服务器时默认启动的页面,它也包含 ng-view,因此我可以注入 angular 配置中指定的页面.
I get page not found error when I try to load an injected page from my templates folder. index.html page is the page launched by default when I start the server and it also contains ng-view, so I can inject the pages specified in the angular config.
这是我的项目结构:
angular_routing/
flask_service.py
static/
script.js
templates/
index.html
home.html
....
这是我的角度路由:
// configure our routes
scotchApp.config(function($routeProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl : 'templates/home.html',
controller : 'mainController'
})
// route for the about page
.when('/about', {
templateUrl : 'templates/about.html',
controller : 'aboutController'
})
// route for the contact page
.when('/contact', {
templateUrl : 'templates/contact.html',
controller : 'contactController'
})
.otherwise({
templateUrl: '/',
controller: 'mainController'
});
// $locationProvider.html5Mode(true);
});
顺便说一句,我尝试在 templateUrl 前面加上/",但也没有用.
BTW, I tried prefixing the templateUrl with a '/' but it didn't work either.
推荐答案
templates 文件夹用于存放将由 Flask 中的 Jinja 渲染的模板文件.它们不是 Angular 可以访问的普通静态 html 文件.将 Angular 模板移动到静态文件夹并从那里访问它们.如果您在 Jinja 模板中呈现 Angular 路由代码,则可以使用 url_for
生成网址.
The templates folder is for template files that will be rendered by Jinja from Flask. They are not served as normal static html files that would be accessible to Angular. Move the Angular templates to the static folder and access them from there. You can generate the urls with url_for
if you're rendering the Angular routing code in a Jinja template.
templateUrl: '{{ url_for('static', filename='angular_templates/home.html') }}'
// or if the Angular is complete separate from Flask/Jinja,
// you'll have to just write out the path
templateUrl: 'static/angular_templates/home.html',
这篇关于未找到 HTML 模板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!