Joh*_*nna 2 django global-variables django-cache persistent-data django-sessions
基本上我想在 Django 中创建一个变量持久化,但我不知道如何。
更准确地说,我希望用户在登录站点时选择一个特定的项目(例如通过 ChoiceField)。然后,只要他不选择其他项目,站点就“知道”他选择了哪个项目,以便他可以执行与该项目相关的一些操作。
这怎么可能?会话变量是要走的路吗?或者也许是缓存系统?一些提示将不胜感激:)
如果我不够清楚,请告诉我
是的 - 您需要使用会话变量,因为这些变量会持续存在,但仅限于每个用户。缓存将为所有用户保留。
请查看:Django 文档中的“如何使用会话”。
本质上,您只需将会话引擎设置为settings.py:
SESSION_ENGINE = 'django.contrib.sessions.backends.cookies'
Run Code Online (Sandbox Code Playgroud)
然后在视图中你可以这样做:
request.session['project'] = 'Some Project'
Run Code Online (Sandbox Code Playgroud)
然后在模板中,您可以使用:
{{ request.session.project }}
Run Code Online (Sandbox Code Playgroud)