2009-08-24 69 views
0

我的一个函数返回一个'msg'对象......它仅仅是一个字符串。HTTPResponse(msg)覆盖!

我在函数中进入了2个循环。

msg='' 

for e in example: 
    msg+= "some crap" 
    msg+= "some crap1" 

    for sl in somelist 
     msg+= v.somevalue 

    msg+="-------------" 

return httpresponse(msg) 

有一个代码的例子。

'somelist'包含两个值...'msg'返回时只返回两个值中的第二个!我很困惑。

回答

0

如果你的代码完全一样,它应该像你想要的那样工作。但是,因为这显然不是实际的代码,所以我猜你有msg = ...某处,当你应该有msg + = ...至少这是你看到的行为的最可能的原因。

如果您在查找错误的位置时遇到问题,请在其中放入一些“print msg”语句,并在开发服务器中运行Django项目进行测试。你会看到它出错的地方。

1

您的代码使用sl作为循环变量,然后从v中提取值。我不确定它们是如何相关的。如果最终消息包含最后一个值的多个副本,那么您可能忘记了以某种方式将sl和v关联起来。如果它只包含最后一个值的单个副本,那么附加到msg的代码行实际上可能在循环之外。这意味着随着循环的进行,什么都不会被追加,然后一旦退出,最后的值被追加。