我有一个 Django 应用程序来记录来自自动完成界面的字符序列。每次调用服务器时,参数都会添加到列表中,并且当用户提交查询时,该列表会写入文件中。
由于我不确定如何在后续调用之间保留列表,因此我依赖于一个全局变量,例如 query_logger
。现在我可以通过以下方式保留列表:
def log_query(query, completions, submitted=False):
global query_logger
if query_logger is None:
query_logger = list()
query_logger.append(query, completions, submitted)
if submitted:
query_logger = None
虽然此技巧适用于发送请求的单个客户端,但当请求来自多个客户端时,我认为这不是一个稳定的解决方案。我的问题有两个:
- 请求的执行顺序是什么:它们是否遵循先到先服务(特别是当请求是异步的时)?
- 执行此操作的更好方法是什么?
最佳答案
您不得为此使用全局变量。
正确的答案是使用 session - 这正是它的用途。
关于python - 在 Python Django 中的后续请求之间保留变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50810023/