gpt4 book ai didi

django - Facebook 问题 + django

转载 作者:行者123 更新时间:2023-12-04 23:53:28 25 4
gpt4 key购买 nike

我正在尝试编写一个 facebook 应用程序,用户可以在其中查看他 friend 的状态历史记录。在我尝试将状态信息保存在我的数据库中之前,一切似乎都运行良好。这是代码:

   class UserStatus(models.Model):
facebookid = models.IntegerField()
time = models.IntegerField()
status_msg = models.CharField(max_length = 2000)



@facebook.require_login()
def canvas(request):
# Get the User object
user, created = FacebookUser.objects.get_or_create(id = request.facebook.uid)
user_lastname = request.facebook.users.getInfo([request.facebook.uid], ['last_name'])[0]['last_name']
query = "SELECT time,message FROM status WHERE uid=%s" % request.facebook.uid
result = request.facebook.fql.query(query)

所以结果给了我所有的状态信息。所以我的问题是当我尝试保存它时出现错误。

 userstatus = UserStatus()
for item in result:
userstatus.facebookid = request.facebook.uid
userstatus.time = item.time


userstatus.msg = item.message
userstatus.save()

错误:从应用程序加载页面时出错

加载时收到 HTTP 错误代码 500

那么我该如何解决这个问题。

谢谢。

最佳答案

首先你应该检查你是否从中得到结果,

result = request.facebook.fql.query(query)

确保结果采用模型所需的正确格式(uid 是整数,time 是整数,message 是字符串。

再次确保结果是有效的 python 对象而不是 JSON 字符串/对象。

记住 python 与 JSON 不完全兼容,所以如果结果是 JSON,那么执行此操作将其转换为 python 对象,

import simplejson
result = simpljson.loads(result) # if result was a JSON string
result = simpljson.loads(simplejson.dumps(result)) # if result was a JSON object

检查现在结果是否是字典列表 { "time": 123456, "messaage": "xyz"}。

for item in result:
userstatus = UserStatus()
userstatus.facebookid = request.facebook.uid
userstatus.time = item["time"]
userstatus.msg = item["message"]
userstatus.save()

现在你不应该有任何错误。

关于django - Facebook 问题 + django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com