如何在Django Syndication框架代码中访问session对象

1 投票
2 回答
833 浏览
提问于 2025-04-15 12:08

我有个简单的问题。在我的内容聚合框架代码中,

http://docs.djangoproject.com/en/dev/ref/contrib/syndication/

我想知道获取会话的最佳方法是什么?我没有请求的访问权限,也不能使用

from django.contrib.sessions.backends.db import SessionStore 

因为我不知道会话 ID,但我需要访问会话中的一些变量。

也就是说,我有:

from django.contrib.syndication.feeds import Feed
class LatestPhotos(Feed):
    ...

在这个 LatestPhotos 类中,我需要访问会话中的某些内容,以帮助控制逻辑流程。我找不到关于最佳方法的任何文档。

谢谢

谢谢!

2 个回答

0

我搞明白了——真是太简单了。这个聚合框架里的 Feed 类有一个叫做 request 的成员……这么简单我之前居然没想到 :)

[这个评论适用于 Django 1.1 及之前的聚合框架]

2

在LatestPhoto这个类里访问会话数据,听起来像是设计上的一个问题。我觉得如果你的信息源依赖于一个会话变量,那么你在发布的内容(LatestPhotos)应该在创建的时候就用上这个变量吧?

你能不能在创建LatestPhotos对象之前先做出逻辑判断,或者至少把会话ID传递给LatestPhotos的初始化过程呢?

撰写回答