如何在 Django 中禁用流
How to disable Stream in Django
我正在尝试暂时阻止 stream_django 进行任何远程 API 调用以进行离线开发和测试。
完全禁用与上游 API 服务器的远程连接的最简单方法是什么?
我发现了 feed_manager.disable_model_tracking() which seems to prevent Activity 个更新,但它并没有阻止所有上游调用(例如 feed_manager.follow_user()
)。
stream_django 允许您通过 STREAM_FEED_MANAGER_CLASS
Django 设置使用自定义提要管理器 class;这可能是跳过 follow/unfollow 请求的最简单方法。
# yoursettings.py
STREAM_FEED_MANAGER_CLASS = "mymodule.TestFeedManager"
# mymodule/__init__.py
from stream_django import managers
class TestFeedManager(managers.FeedManager):
def follow_user(self, *args, **kwargs):
pass
def unfollow_user(self, *args, **kwargs):
pass
另一种可能更强大(也更复杂)的方法是使用 mock 库来存根管理器或类似方法。
我正在尝试暂时阻止 stream_django 进行任何远程 API 调用以进行离线开发和测试。
完全禁用与上游 API 服务器的远程连接的最简单方法是什么?
我发现了 feed_manager.disable_model_tracking() which seems to prevent Activity 个更新,但它并没有阻止所有上游调用(例如 feed_manager.follow_user()
)。
stream_django 允许您通过 STREAM_FEED_MANAGER_CLASS
Django 设置使用自定义提要管理器 class;这可能是跳过 follow/unfollow 请求的最简单方法。
# yoursettings.py
STREAM_FEED_MANAGER_CLASS = "mymodule.TestFeedManager"
# mymodule/__init__.py
from stream_django import managers
class TestFeedManager(managers.FeedManager):
def follow_user(self, *args, **kwargs):
pass
def unfollow_user(self, *args, **kwargs):
pass
另一种可能更强大(也更复杂)的方法是使用 mock 库来存根管理器或类似方法。