Flask-Nav条件元素

时间:2017-03-20 22:57:30

标签: python flask navigationbar

是否有一种简单的方法可以根据特定条件启用/禁用元素,例如如果用户已登录?

@nav.navigation()
def navbar():
    return Navbar(
        'Page',
        View('Home', 'home'),
        View('Log in', 'login'),    // this
        View('Log out', 'logout'),  // or this?
    )

1 个答案:

答案 0 :(得分:1)

Navbar构造函数的定义是def __init__(self, title, *items)

您可以构建基于当前用户状态的项目(如果您使用flask-security),如下所示:

items = list(View("Home", "home"))

if current_user.is_authenticated: 
    items.append(View("Log in", "login")) 
else: 
    items.append(View("Log out", "logout"))

并使用此Navbar("Page", *items)

创建Navbar