2011-03-08 57 views
0

在我的Django的看法,我正在尝试从我的数据库中的结果,然后把它们交给我的模板用下面的代码:Django的 - 传递一个滤波的结果模板

f = request.GET.get('f') 

    try: 
    fb_friends_found= UserProfile.objects.filter(facebookid__in=f).values('facebookid') 
    i = fb_friends_found[0] #To get the dictionary inside of the list 
    results = i['facebookid'] #To retrieve the value for the 'facebookid' key 
    variables = RequestContext (request, {'results': results }) 
    return render_to_response('findfriends.html', variables) 

我进行的在'try'块中使用manage.py shell的前三行很好,打印正确的'facebookid'。 不幸的是我无法让它在我的浏览器中工作。有什么建议么?

回答

0

你有没有遇到特定的问题,例如异常?

我觉得你应该得到某种异常,如果你有一个没有except语句的try块。

try: 
    # something 
except Exception: # but be more specific 
    print "exception occurred" 

否则,代码看起来不错,如果你的浏览器没有渲染,我会查看模板。除非......你在你的try块中隐藏了错误,在这种情况下,你应该删除try块,并让错误发生以理解错误。

+0

感谢您的回答......我没有得到任何错误或异常。该视图由点击按钮触发。当我点击按钮时没有返回。但是,当我添加文字而不是变量:i = fb_friends_found [0]它工作正常。由于某种原因,它不喜欢:我= fb_friends_found [0] – Leon 2011-03-08 20:20:16

+0

所以你的尝试块不掩盖一个问题?视图呈现,但没有结果?我个人会开始在日志中放入代码,可以是'print fb_friends_found'或log。 – 2011-03-08 21:35:56

+0

谢谢Yuji。我解决了这个问题......问题在于我是变量'f',好像它是一个列表 - 当它实际上是一个字符串时,将它与'facebookid'进行比较。我只是使用f.split(',')并解决了问题!谢谢你的帮助! – Leon 2011-03-13 13:38:52