【问题标题】:400 error on 'dumpdata' command with django-disqus使用 django-disqus 的“dumpdata”命令出现 400 错误
【发布时间】:2011-08-18 07:57:29
【问题描述】:

发出“disqus_dumpdata”命令时收到 400 错误 (link)。搜索了谷歌和github,但我似乎是唯一一个遇到过这个问题的人。

以下是我的回溯。我认为这将是“disqus_dumpdata.py”的“第 32 行”和我的短名称或 api 密钥,但它不是:

(pinax073)[user@web142 mysite]$ python2.6 manage.py disqus_dumpdata --traceback
Traceback (most recent call last):
  File "manage.py", line 28, in <module>
    execute_from_command_line()
  File "/home/user/webapps/whw/lib/python2.6/django/core/management/__init__.py", line 429, in execute_from_command_line
    utility.execute()
  File "/home/user/webapps/whw/lib/python2.6/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/user/webapps/whw/lib/python2.6/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/user/webapps/whw/lib/python2.6/django/core/management/base.py", line 220, in execute
    output = self.handle(*args, **options)
  File "/home/user/envs/pinax073/lib/python2.6/site-packages/disqus/management/commands/disqus_dumpdata.py", line 32, in handle
    forum_list = client.get_forum_list(user_api_key=settings.DISQUS_API_KEY)
  File "/home/user/envs/pinax073/lib/python2.6/site-packages/disqus/api.py", line 53, in call_method
    return self.call(attr, **kwargs)
  File "/home/user/envs/pinax073/lib/python2.6/site-packages/disqus/api.py", line 79, in call
    response = urllib2.urlopen(request)
  File "/usr/local/lib/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/local/lib/python2.6/urllib2.py", line 397, in open
    response = meth(req, response)
  File "/usr/local/lib/python2.6/urllib2.py", line 510, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/local/lib/python2.6/urllib2.py", line 435, in error
    return self._call_chain(*args)
  File "/usr/local/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python2.6/urllib2.py", line 518, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 400: BAD REQUEST

400: ('Bad Request', 'Bad request syntax or unsupported method')

查看我的 api.py 文件的第 77、78、79 行,一切看起来都不错。这是什么原因造成的?

request = self._get_request(url, self.METHODS[method], **params)
        try:
            response = urllib2.urlopen(request)

【问题讨论】:

    标签: python django json disqus


    【解决方案1】:

    我建议您实际阅读您遇到的错误。在该行周围添加 try/except:

    try:
        response = urllib2.urlopen(url)
    except urllib2.HTTPError, error:
        contents = error.read()
        logging.debug(contents)
        raise 
    

    【讨论】:

    • 我在那里检查过,但问题出在 disqus_export,而不是 disqus_dumpdata,而且我有更新的代码。但它们似乎不太可能没有联系。有什么建议吗?
    • 得到它的工作:接收这个:{“消息”:“密钥(apikey)无法转换为用户密钥对象”,“代码”:“输入无效”,“成功”:假}
    猜你喜欢
    • 2015-10-22
    • 2011-05-31
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 2020-12-19
    • 2017-01-05
    • 1970-01-01
    相关资源
    最近更新 更多