小编her*_*ira的帖子

Jinja2:如何创建多维javascript数组?

我使用FlaskJinja2作为模板语言.

如何使用Jinja2将多维Python结构转换为javascript中的相应结构?

示例(Python/Flask):

pyStruct = [{key1:value1, key2:value2, [{subkey1:subvalue1, subkey2:subvalue2,}]},
            {key1:value1, key2:value2, [{subkey1:subvalue1, subkey2:subvalue2,}]},]

render_template('jinjatemplate.html', pyStruct=pyStruct)
Run Code Online (Sandbox Code Playgroud)

示例(Jinja2):

??
Run Code Online (Sandbox Code Playgroud)

我想我要问的是,它只能通过在Jinja2中创建复杂的循环结构来完成,还是我在某个地方错过了一个快捷方式?

如果答案是,是的,必须在Jinja2中使用复杂的循环,那么直接在python中创建javascript代码并将其传递给Jinja2以包含它可能要容易得多.

但这似乎打败了使用像Jinja2这样的模板语言的目的......

我试过(Jinja2):

{{ pyStruct|safe }}
Run Code Online (Sandbox Code Playgroud)

...这实际上只要没有unicode就可以工作,并且不会偏离Ascii的土地(在我的情况下通常会这样做).

哦,如果你想知道为什么要通过这种结构?我发现我经常想将相当复杂的结构传递给javascript以供菜单和其他复杂的选择界面使用.

javascript python jinja2 flask

5
推荐指数
1
解决办法
5142
查看次数

参照完整性 - 如何配置 SQLAlchemy?

有人可以帮助我了解配置 SQLAlchemy 模型的总体情况,以便在各个级别确保引用完整性吗?

按照引用完整性应该由数据库表达和强制执行的想法,我创建了一个模式(当前在 Postgresql 中),其中包含我认为需要的所有约束,从而为我提供了一个我相信将强制执行引用完整性的数据库。

然后,我开始在该数据库之上构建一个应用程序,在声明模式下使用 SQLAlchemy (0.7)。

经过搜索和阅读后,我了解到我可以配置:

  • 我的 Column() 定义上的 onupdate/ondelete 规则。
  • 我的关联()定义上的级联选项,
    并且这些选项似乎在 SQLAlchemy 中的会话级别上运行。
  • 我的关系()定义的passive_deletes和passive_updates选项。

所有这些选项都有默认值。

但我很困惑,我实际上需要对 SQLAlchemy 模型做多少事情,以确保 SQLAlchemy 在会话期间不会与数据库及其约束不同步。

如果我在 SQLAlchemy 中的 Columns() 定义上配置“onupdate”等,我到底能实现什么?

对于级联和passive_delete/passive_update规则,我可以在relationship()上配置。我在这里需要什么,为什么?

或者重新表述我的问题:SQLAlchemy 在多大程度上会意识到数据库模式中配置的约束,以及我必须在多大程度上(以及如何)在我的模型中重复它们?

还有什么我应该注意的吗?:)

referential-integrity sqlalchemy

3
推荐指数
1
解决办法
1587
查看次数