我对 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_follow
和 get_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/