V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
halicando
V2EX  ›  Python

为什么在模板里面要写成 {% if user.is_authenticated %} ,而不是 {% if user.is_authenticated() %} ?

  •  
  •   halicando · 2013-07-24 23:57:13 +08:00 · 5037 次点击
    这是一个创建于 4171 天前的主题,其中的信息可能已经有所发展或是发生改变。
    user有 is_authenticated 这个 Field么?
    11 条回复    1970-01-01 08:00:00 +08:00
    linnchord
        1
    linnchord  
       2013-07-25 00:05:19 +08:00
    好抽象的问题……
    dorentus
        2
    dorentus  
       2013-07-25 00:06:55 +08:00
    就是为了少打两个字符啊

    另外也稍微好看些,个人观点
    amyangfei
        3
    amyangfei  
       2013-07-25 00:15:35 +08:00
    django么,is_authenticated是 models.User的一个方法,在模板里不都这么写么
    DH
        4
    DH  
       2013-07-25 00:16:41 +08:00
    django的模板? django的模板里面,属性,dict的key,函数,还有list里面的元素,都是直接通过一个点引用的,然后template会按照 key,属性,函数,list元素这个书序依次查找。

    不要问哥为什么,这个模板语言就是这么设定的。

    如果用 jinja2的话,那就是这样了 {{ v[0] }} {{ v['key'] }} {{ v.username }}, {{ v.is_authenticated() }}
    DH
        5
    DH  
       2013-07-25 00:18:09 +08:00
    django模板一大设计思想就是尽可能让你少在模板里面写逻辑,所以模板里面的都做了高度简化。
    lidashuang
        6
    lidashuang  
       2013-07-25 00:25:02 +08:00
    ruby 都用没括号的写法
    sudayly
        8
    sudayly  
       2013-07-25 20:27:18 +08:00
    能少些个括号不是好事麽
    yangg
        9
    yangg  
       2013-07-26 17:20:15 +08:00
    ruby就是这么做的,写解析器的人不喜欢打括号
    imcj
        10
    imcj  
       2013-07-26 23:56:45 +08:00
    因为Django的Tag是不能带括号的,设定而已。
    no13bus
        11
    no13bus  
       2013-07-27 01:47:54 +08:00
    flask的话,说是指定了相关方法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3062 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:30 · PVG 21:30 · LAX 05:30 · JFK 08:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.