这是我今天的第二个问题但我想知道的是......是否可以从信号处理程序中检索信息。
我有一个项目列表,称之为列表,每个项目都在AppA中。每个项目都有一些特征,这些特征保存在不同的应用程序AppB中。
所以,我想我可以创建一个字典,dict并迭代列表中的项目。在每次迭代中,我都希望向AppB发送信号并检索信息,即具有类似
的信息def blob(request):
dict = {}
for item in list:
signal.send(sender=None, id=item.id)
dict[item] = (char1, char2)
...some html request
我的信号处理程序看起来像这样:
def handler(sender, id, **kwargs):
model2 = Model2.objects.get(id=id)
a = model2.char1
b = model2.char2
return (a, b)
然后我希望能够在网页上生成一个项目及其特征的列表...问题是显然信号发送者必须发送信号,并获得我想要的信息。 ......甚至可能:S?
目前,我收到一条错误消息“全局名称'char1'未定义....我已将处理程序和信号导入到blob所在的view.py中....所以我的问题无法解决? /它是否应该以另一种方式明确解决?或者我几乎肯定在导入内容时犯了一个愚蠢的错误?
答案 0 :(得分:0)
这实际上并不那么棘手。以为我应该发布它是如何解决的。在我的观点中,我实际上写了
response_list=signal.send(sender=None, list=list_of_items)
然后我迭代了我的response_list,将项目添加到一个新的列表中,如下所示:
snippets = []
for response in response_list:
logger.error(response)
snippets.append(response[1])
然后可以像我的模板中的字典一样在片段中调用响应。当我问这个问题时,我并不理解我可以将某些东西与信号发送等同起来......