使用AngularJS对话框模板的Pyramid视图
Using a Pyramid view for an AngularJS dialog template
我已经使用Pyramid编写了一个web应用程序,Pyramid是一个Python web框架。
在我的web应用程序的一个页面中,我想实现对话框。我正试图通过AngularUI引导程序学习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与注册的路由进行比较。因此,例如,请求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')
如果您调用http://site.com/my_feature
,它将呈现view.html
。
如何将Pyramid视图用作templateUrl
因为Pyramid将URL抽象到视图中,所以我不能为静态HTML文件(例如abc.html
)提供templateUrl
。我提供的任何URL都会通过Pyramid的路由系统。
我已经尝试过将templateUrl
提供给静态HTML文件,并取得了成功。但是任何Pyramid路由的URL都会失败,对话框也不会显示。
解决方案是什么?
解决方案
我不小心用了template
而不是templateUrl
。
确保上面写的是templateUrl: '/your-pyramid-view'
而不是template: '/your-pyramid-view'
。
您应该能够使用静态视图提供静态html文件:
config.add_static_view(name='partials', path='yourpythonpackage:partials')
如果abc.html在您的pythonbackage/partials中,那么您的templateUrl
可以设置为/partins/abc.html。
而且,不要忘记
config.add_renderer('.html', 'pyramid.chameleon_zpt.renderer_factory')
直接渲染前端inedx.html,而不是金字塔索引模板。
- 如何使用javascript从主svg对象动态创建svg视图框
- 正在使用$location.path(.)路由ng视图
- angular.js没有'无法在PhoneGap中处理视图标记
- 如何包含特定于每个视图angularjs的javascript文件
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- Ajax Live搜索发布到Laravel视图
- backbone.js无法渲染视图
- 根据某些条件在视图之间切换
- ng视图外的链接重定向到ng视图内的页面
- 如何在Jquery中发布后将值从视图返回到控制器
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 使用Scala Play Framework视图中的键检索映射值
- FF视图源|脚本高亮显示为红色
- 如何使bxslider仅在移动视图中处于活动状态
- 为什么不't我的变量在我的控制器中填充后在我的视图中呈现
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 在Rails中更新Div,而不更改更新请求后的视图
- 使用AngularJS对话框模板的Pyramid视图
- 带手柄的Pyramid应用程序.js:I don'这个视图不需要模板;如何禁用