python - django lambda 和 django-activity-stream

标签 python django lambda

我对 lambda 函数本身不熟悉,也不知道如何调试这个问题。

Django-1.1.2

我正在使用,django-activity-stream为了为我的用户呈现事件流。 在本项目的文档中,它说您需要传递两个 lambda 函数才能与现有的 newtworks 合并,例如 django-friends(我正在使用的那个)

以下是需要粘贴到 settings.py 文件中的函数。

ACTIVITY_GET_PEOPLE_I_FOLLOW = lambda user: get_people_i_follow(user)
ACTIVITY_GET_MY_FOLLOWERS = lambda user: get_my_followers(user)

我已经这样做了,但现在每次我尝试渲染使用它的页面时,我都会得到以下回溯。

Caught NameError while rendering: global name 'get_people_i_follow' is not defined

虽然这已在我的设置中设置...

非常感谢您的帮助!

最佳答案

在定义这些 lambda 的地方,您需要导入名称 get_people_i_followget_my_followers。我不熟悉 django-activity-stream,但它可能类似于 from Activity_stream import get_people_i_follow, get_my_follwers

Lambda 是一个用于动态创建匿名函数的关键字,因此您的代码的含义基本上与您编写以下代码的含义相同。

def ACTIVITY_GET_PEOPLE_I_FOLLOW(user):
    return get_people_i_follow(user)

def ACTIVITY_GET_MY_FOLLOWERS(user):
    return get_my_followers(user)

关于python - django lambda 和 django-activity-stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5379093/

相关文章:

javascript - 这种 sanitizer 容易受到 XSS 攻击吗?

python - 如何根据 ReferenceProperty 的属性查询记录? (应用引擎上的 Django)

python - 如何从 Jinja 的列表中准确获取一个元素?

python - 使用 waiter.wait 时 AWS Lambda 作业运行两次

Python 避免 lambda for key 需要两个可调用对象(函数组合)

python - torch 聚中维

Python : Why do we need a build tool, 你对 CI 有什么建议?

Python 3.6 - 将不同类型的列表作为输入

python - 如何通过 input() 控制线程?

c# - 将属性作为参数传递