在Flask

时间:2015-06-11 12:41:30

标签: python flask jinja2 flask-wtforms

我不确定什么是最好的路线,或者我可能会遗漏一些明显的东西。

示例我可以给出的是我有'人'模型和关联的表单,以及创建的视图以添加新的'人'。一切都很好。我想做的是在主页中使用此“视图/表单”与其他类似的“视图/表单”。每个部分都可以添加/编辑或删除每个子视图/表单中的记录。

所以我完成了所有功能,只是不知道如何用子对象创建这个母版页,但是这些子对象也可以是他们自己的页面,类型。

这个想法是主页面结构灵活,可以根据用户所处的上下文容纳各种元素。

我应该查看蓝图或Jinja2及其模板结构。或者是我在主应用程序中处理路线的方式。

道歉,如果这太模糊了。

1 个答案:

答案 0 :(得分:0)

我使用AngularJS ng-include指令完成了这项工作。你可以包含你想要的任何html,但要小心Jinja2。如果您尝试包含的html包含任何脚本标记,它将崩溃。在这里看我的问题。如果您需要导入需要脚本标记的表单,则需要确保在使用Angular推送它时不会加载它。由于它发出xhr请求,您可以使用flask.request.is_xhr来检查它是否是有角度的,或者是否需要该表单的用户。你不能忘记将它添加到你的角度应用程序 否则is_xhr将始终返回false。

myAppModule.config(['$httpProvider', function($httpProvider) {
    $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
}]);

也要小心base_ templates,因为它们通常会加载脚本标记。您可以通过烧瓶路径传递基础模板,并在通过角度进行请求时使其扩展为空白基础html。我希望我的例子在这里,但我在公共汽车上。让我知道你有多远。