返回信息流一个python flask后台的server,用到了jinja,所以有个layout.html是所有前端页面的框架,但是layout需要显示后台返回的内容,怎么做。。。
我表达太差,好人可以细问,我慢慢说。。。
这是一条镜像帖。来源:北邮人论坛 / python / #11684同步于 2016/1/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
用过jinja的进,问题问题
ccdyh
2016/1/18镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
可以作为参数传入吗?比如加一个{{ generated_content }}这样的标签(忘了具体语法了),然后把generated_content赋值为后台生成的内容。
摸摸头,以jinjia的官方demo说明,
<title>{% block title %}{% endblock %}</title>
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
{{}}包裹的内容就是从后台controller传入的参数,不知道LZ的问题出在哪里
对的。。
flask确实是这样传参的,但我这里比较困惑的就在于jinja的layout.html,它属于模板,不像是普通的页面可以返回,所以比较纠结。想不到好的解决方法。
【 在 nuanyangyang 的大作中提到: 】
: 可以作为参数传入吗?比如加一个{{ generated_content }}这样的标签(忘了具体语法了),然后把generated_content赋值为后台生成的内容。
如果细化一点来讲,
我后台有一个专门统计某内容的函数,
我希望这个函数的结果实时反映在jinja的模板中的layout.html,这个layout.html是所有页面都依赖的部分,不是可以即时返回的页面,所以不知道参数怎么返回。。
【 在 icybee 的大作中提到: 】
: 摸摸头,以jinjia的官方demo说明,
: <title>{% block title %}{% endblock %}</title>
: <ul>
: ...................
如果细化一点来讲,
我后台有一个专门统计某内容的函数,
我希望这个函数的结果实时反映在jinja的模板中的layout.html,这个layout.html是所有页面都依赖的部分,不是可以即时返回的页面,所以不知道参数怎么返回。。
【 在 jh1 的大作中提到: 】
: 楼上的大神正解。
: 后台是这样的?
: http://jinja.pocoo.org/docs/dev/intro/#basic-api-usage
【 在 ccdyh 的大作中提到: 】
: 如果细化一点来讲,
: 我后台有一个专门统计某内容的函数,
: 我希望这个函数的结果实时反映在jinja的模板中的layout.html,这个layout.html是所有页面都依赖的部分,不是可以即时返回的页面,所以不知道参数怎么返回。。
实时啊,那就已经不是Jinja能够掌控的范围了。Jinja可以想象成一个稍微强大一点的printf函数,输入模版+参数,输出字符串,仅此而已,它只工作在服务器端。如果你要实时控制页面内容,你需要AJAX。这是另外一系列的技术。问问google?
继续摸头,LZ意思是不是后台一个demon或者crontab在实时刷数据,然后希望layout内展示?
如果是:后台统计函数实时将数据写入文件/内存数据库/数据库中,flask的contoller每次处理请求时读取文件/内存数据库/数据库 中的数据,通过jinjia渲染后输出?
另:全部页面都依赖的话,两种解决方案,一是所有依赖controller中都给layout传入数据需要的参数,另一种是把这部分逻辑抽出来做一个jsonapi,从layout中用ajax调这个api
【 在 ccdyh 的大作中提到: 】
: 如果细化一点来讲,
: 我后台有一个专门统计某内容的函数,
: 我希望这个函数的结果实时反映在jinja的模板中的layout.html,这个layout.html是所有页面都依赖的部分,不是可以即时返回的页面,所以不知道参数怎么返回。。