【发布时间】:2021-03-04 08:09:34
【问题描述】:
我想将我的 Django 应用程序用作基于会话的在线服务的中继,并在所有用户之间共享此会话。为此,我配置了一个python-requests Session 对象。
我想在 Django 启动时初始化这个 Session 并让它永远活着。我的想法是通过允许特定请求的视图访问会话对象,让对我的 Django 应用程序的所有请求共享会话对象。
在 Flask 中进行设置(用于实验目的)相当简单:
from flask import Flask, render_template, request, session
from requests import Session
app = Flask(__name__)
session = Session()
session.post() # Setup Session by logging in
@app.route("/")
def use_session():
reply = session.get() # Get resource from web service
return jsonify(reply)
这里session会在启动时创建,use_session()可以访问。
不过,我很难在 Django 中进行同样的设置。创建会话的首选位置是哪里?
【问题讨论】:
-
你在 Django 方面尝试过什么?您可以将相同的逻辑放在 Django 的 views.py 中(虽然这不是保持会话的好方法)
-
什么是“基于会话的在线服务”?您需要包含逻辑以确定它是否已将您注销,以便您可以重新进行身份验证,并确保在身份验证过程发生时没有其他请求。
标签: python django python-requests