在用 Flask 框架做开发。
比方说有,{% block titile %}Hello, 我的!{% endblock %}
有什么方法可以得到名为 title 的 block 中的内容『 Hello, 我的!』吗?
1
pimin 2016-04-30 16:47:41 +08:00 via Android 1
同一个模板内 self.title()
要是继承之类, super() 感觉楼主这个需求没有什么意义吧 |
2
ayaseangle 2016-04-30 16:55:24 +08:00 via Android
xy-problem
|
3
vJianZhen OP |
5
vJianZhen OP 嗯,我再补充下问题吧。这个问题的需求相当于存书签,是网站内的『标记页面』功能。在页面上放一个『标记此页面』的链接,为了标记成功,需要向 route 传参,一个是 URL ,另一个是页面标题,所以想说获得 block 里面的内容。当请求给到处理函数中,又函数负责将这些信息存到数据库,完成标记。
@ayaseangle |
8
vJianZhen OP jinja2.exceptions.UndefinedError: 'jinja2.runtime.TemplateReference object' has no attribute 'titile'
@pimin |
10
pimin 2016-04-30 18:00:18 +08:00 via Android
@vJianZhen
具体到 URL 和 TITLE 可以不靠前端的,比如前端可以给你发送一个神秘代码, 12345678 ,服务器知道 12345678 对应的是 12345678.html ,这个页面的标题是通过 ID 为 12345678 的文章生成的,它应该是文章.title+网站名称生成的,它应该是:“天大地大我最大”+“--------全球最大吹牛网” 同样的, 12345678 这个代码还是要客户端发给你。 在你这个例子里,你是不是多做了很多没有必要的工作。 你直接发送 URL 和 TITLE 然后存到数据库里,是不是最简单的方案。 |
11
vJianZhen OP 文章页面的标题也许你可以找到对应关系,但是很多网页的标题不是可以通过『规则』知道的。我不知道我做了什么不必要的工作,还请明示。我就是想直接发送 URL 和 TITLE 然后存到数据库里,现在 TITLE 不知道要怎么能通过 Jinja2 获取到。
@pimin |
12
pimin 2016-04-30 18:38:24 +08:00 1
|
14
pimin 2016-04-30 18:50:07 +08:00 1
@vJianZhen
虽然这样也能用,还是建议标题和 URL 通过 JavaScript 来获取,然后提交. 反正要做好的交互,肯定要用 AJAX,不可能点一下收藏就刷新页面吧 直接写一个获取当前页面并提交的 JavaScript,放到所有页面都可以运行得很好. js 之类的静态资源可以放到 cdn 之类,降低服务器压力. |
15
vJianZhen OP @pimin [cry.jpg]现在还真是点一下就刷新,因为我不会 AJAX ,打算以后再学。这个项目不是商用的,是我毕业设计的项目。谢谢你的建议。
|
16
shsfoolish 2016-05-01 07:53:32 +08:00 via iPhone
赞同 @pimin jinjia 到了页面前端就已经是生成好的 html 了,只要用 javascript 就可以获取
|