Django - 轻松刷新会话

时间:2018-04-15 20:51:45

标签: python django templates session

我对刷新会话有疑问! 当我使用PHP使会话过期时,我只需要在文档顶部使用sessionmaintenance.php,是否有一种简单的方法可以在Django模板中执行相同的操作,这样我就不必在每个视图中都这样做了? / p>

示例视图代码:

@login_required
def index(request):
    request.session.set_expiry(30)
    testvar="Hi!"
    return render(request, 'testapp/index.html', {'testvar':testvar})

@login_required
def uploadview(request):
    request.session.set_expiry(30)
    etc...

我想做的是制作一个类似于此的base.html - 示例模板代码:

{% if user.is_authenticated %}
<h6>{{ request.user.username }} {{ request.user.first_name }}</h6>
{% endif %}
{% request.session.set_expiry(30) %} 
{% block content %}
{% endblock %}

将会话刷新纳入我的base.html,以便我的视图代码看起来更干净,而且我不必重复自己。

1 个答案:

答案 0 :(得分:0)

这可能不是你想要的,但你有没有检查过 可用于Django设置的SESSION_COOKIE_AGE参数?

它以秒为单位设置会话cookie的硬限制,如下所示:

SESSION_COOKIE_AGE = 30