推荐学习书目
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 · Jul 24, 2013 · 5942 views
    This topic created in 4680 days ago, the information mentioned may be changed or developed.
    user有 is_authenticated 这个 Field么?
    11 replies    1970-01-01 08:00:00 +08:00
    linnchord
        1
    linnchord  
       Jul 25, 2013
    好抽象的问题……
    dorentus
        2
    dorentus  
       Jul 25, 2013
    就是为了少打两个字符啊

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

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

    如果用 jinja2的话,那就是这样了 {{ v[0] }} {{ v['key'] }} {{ v.username }}, {{ v.is_authenticated() }}
    DH
        5
    DH  
       Jul 25, 2013
    django模板一大设计思想就是尽可能让你少在模板里面写逻辑,所以模板里面的都做了高度简化。
    G2bN4dbX9J3ncp0r
        6
    G2bN4dbX9J3ncp0r  
       Jul 25, 2013
    ruby 都用没括号的写法
    sudayly
        8
    sudayly  
       Jul 25, 2013
    能少些个括号不是好事麽
    yangg
        9
    yangg  
       Jul 26, 2013
    ruby就是这么做的,写解析器的人不喜欢打括号
    imcj
        10
    imcj  
       Jul 26, 2013
    因为Django的Tag是不能带括号的,设定而已。
    no13bus
        11
    no13bus  
       Jul 27, 2013
    flask的话,说是指定了相关方法。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4033 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 00:54 · PVG 08:54 · LAX 17:54 · JFK 20:54
    ♥ Do have faith in what you're doing.