我使用Python Web 框架Pyramid编写了一个 Web 应用程序。
在我的 Web 应用程序的一页中,我想实现对话框。我正在尝试使用AngularUI Bootstrap学习 AngularJS来实现这一点(这里是使用 AngularUI 的对话框示例)。
我的页面将显示总共 7 个对话框。这些对话框将显示文本和图像,并接收和验证输入。对话流不是线性的;有条件对话框和多个执行分支。
请看这个显示 AngularUI 引导对话框的例子。example.js:5-21
配置对话框显示选项。该参数template
包含要显示的 HTML:
template: t, // OR: templateUrl: 'path/to/view.html',
其中,在示例中,var t
包含一些静态示例标记:
var t = '<div class="modal-header">'+
'<h3>This is the title</h3>'+
...
现在,在 Pyramid 中,URL 不直接映射到文件或文件夹;相反,将 URL与注册的路由进行比较。因此,例如, request 是没有意义的http://site.com/path/to/view.html
。相反,您将编码:
config.add_route('my_route', '/my_feature')
@view_config(route_name='my_route', renderer='/path/to/view.html')
如果view.html
您调用http://site.com/my_feature
.
如何将金字塔视图用作templateUrl
?
因为 Pyramid 将 URL 抽象为视图,所以我无法提供templateUrl
静态 HTML 文件(例如abc.html
)。我提供的任何 URL 都会通过 Pyramid 的路由系统。
我已经尝试templateUrl
成功地提供静态 HTML 文件。但是任何 Pyramid 路由的 URL 都会失败,并且不会显示对话框。
解决方案是什么?
解决方案
我不小心使用template
了templateUrl
.
确保它说templateUrl: '/your-pyramid-view'
而不是template: '/your-pyramid-view'
.