检查用户状态的更好方法是什么。假设我的数据库模型中有一个halt
列:
halted = db.Column(db.Boolean(), nullable=False, server_default='0')
如果我想停止这个用户帐户,我会将这个值设置为true
/1
,根据这个值,某些内容不会对他开放。最好的办法是什么?你知道吗
Python
代码:
if user.halted == '1':
return render_template('less_content.html')
Jinja2
代码:
{% if user.halted is True %}
<body> show less content...</body>
{% else %}
<body> show more content...</body>
{% endif %}
我是说在安全方面有区别吗?
什么时候应该使用一种方法而不是另一种?
应该不会有任何问题,因为我们在Jinja中最常用的方法是
user.is_authenticated
来检查用户是否登录。这个user.halted
和那个没什么区别。以及使用哪种方法。当您可以通用化html页面时,可以使用Jinja,这样您就可以重用相同的页面,而不是像less那样创建新的页面_内容.html. 你知道吗如果你有更多的用户类别,比如说,更少的内容,非常少的内容等等。最好将它们概括起来,并用Jinja模板编写它们。因为它将节省大量重写相同的HTML页面。为每种类型的用户分别呈现它们将是大量的html页面。但是如果你只讨论两种类型的用户,也就是暂停和不暂停,那就没什么关系了。你知道吗
没有安全隐患,因为模板在后端呈现,并且只有最终结果(没有隐藏的内容)被发送到浏览器。你知道吗
我更喜欢Jinja版本,因为通常一件事只需要一个模板,而不是在多个文件中复制同一件事。这很容易出错,也很麻烦。你知道吗
相关问题 更多 >
编程相关推荐