【问题标题】:Trouble with urllib2 in Django ViewsDjango 视图中 urllib2 的问题
【发布时间】:2016-12-21 05:54:01
【问题描述】:

我正在尝试使用 urllib2 读取网站,将文本转换为 json 对象,然后将其传递给我的 views.py 文件。该函数在我单独运行时有效,但是当我将该函数导入到我的views.py 文件中时,它给了我一个空的json 对象。

这是我的代码示例: 导入 urllib2 从日期时间导入日期时间,时间增量 导入json

def query_incidents():

    my_url = 'https://mywebsite.com'

    url_request = urllib2.Request(my_url)
    response = urllib2.urlopen(url_request)

    query_string = response.read()

    query_json = json.loads(query_string)

    response.close()

    print query_json

以下是我运行代码时返回的示例:

[
{u'latitude': u'47.635873', u'longitude': u'-122.325586', u'datetime': 1471218540}, 
{u'latitude': u'47.724362', u'longitude': u'-122.282826', u'datetime': 1471218720}, 
{u'latitude': u'47.710811', u'longitude': u'-122.281078', u'datetime': 1471218840}, 
{u'latitude': u'47.689113', u'longitude': u'-122.355301', u'datetime': 1471218960}, 
{u'latitude': u'47.659960', u'longitude': u'-122.342217', u'datetime': 1471219140}, 
{u'latitude': u'47.569608', u'longitude': u'-122.290486', u'datetime': 1471219260}, 
{u'latitude': u'47.731040', u'longitude': u'-122.347764', u'datetime': 1471219500}
]

当我尝试将代码导入 views.py 时,我得到:

[]

【问题讨论】:

    标签: json django python-2.7 django-views urllib2


    【解决方案1】:

    希望对你有帮助……

    def query_incidents():
    
        my_url = 'https://mywebsite.com'
    
        url_request = urllib2.Request(my_url)
        response = urllib2.urlopen(url_request)
    
        query_string = response.read()
    
        query_json = json.loads(query_string)
    
        response.close()
        return query_string
    

    然后在你的views.py中调用query_incidents()返回值 例如,假设您在 views.py 中定义了一个名为 make_file(arg) 的函数,您将在 arg 中调用 query_incidents() 函数,该函数将数据返回到您的 views.py

    【讨论】:

    • 所以我在 views.py 中调用我的函数 query_incidents() 并且它仍然返回 [ ] 。还有其他建议吗?
    猜你喜欢
    • 2014-07-22
    • 2011-10-24
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多