1
hxndg 2016-05-02 00:34:27 +08:00
我没有看明白你的意思哈,什么叫做 import 的方法?同一个包内的化,都在__inti__.py 里可以直接看到的阿?
|
2
vJianZhen 2016-05-02 00:50:28 +08:00 via Android
楼主的意思应该是在 Jinja2 里面有些方法,比如 url_for()没有 import 进来就直接用了,似乎不合道理。 JInja2 里的 import 是 Jinja2 的语法,跟 Python 里头的不是一个东西。至于你说为什么没有 import 就用了,那应该是用 Flask 创建 app 时候做了一些事,以及一个叫做请求上下文的东西。
|
3
MyLeoWind OP @vJianZhen 嗯我说的是 python 的 import 不是模板的 import 。可能我需要看源码+试验一下。
|
5
donghouhe 2016-05-02 11:16:11 +08:00
可能书里代码精简了那部分,另外很可能 jinja 本就可以用一些过滤器啦函数啦,那些并不属于 python ,属于 jinja 自带,不要被相同的函数名字迷惑了
|
6
3b295 2016-05-03 09:42:31 +08:00
书里有
@main.app_context_processor def inject_permission(): return dict(Permission=Permission) 这里 Permission 就可以在模板里用了 flask 默认也会加一些函数进 jinja2 里,所以 url_for 这种可以直接用 给个链接吧 http://dormousehole.readthedocs.io/en/latest/templating.html |