0

espn apiからデータをプルし、デフォルト/インデックスで表示する非常にシンプルな関数を作成しました。ただし、default/indexは空白のページです。

この時点では、JSONを解析しようとはしていません。ブラウザーで何かを見たいだけです。

default.py:

import urllib2
import json

#espn_uri being pulled from models/db.py

def index():
    r = urllib2.Request(espn_uri) 
    opener = urllib2.build_opener()    
    f = opener.open(r)
    status = json.load(f)

    return dict(status)

default / index.html:

{{status}}

ありがとうございました!

4

2 に答える 2

2

試してください:dict(status = status)を返します

return dict(status)は、それ自体がdictであり、dict(status)がそれをコピーするだけなので機能します。しかし、おそらくstatusという名前のキーがないか、少なくとも興味深いものは何もありません。

そして、はい、あなたは=が必要です。

于 2012-04-04T01:41:12.977 に答える
0

JLundellがアドバイスするように、最初に辞書を介してペアのデータを返します。

return dict(my_status=status)

次に、作業を終えたら、index.htmlのローカル変数ではなく、以下を使用して返された変数にアクセスします。ここで等号を使用してください。使用しないと何も表示されません

{{=my_status}} 

JSONに関しては、次を使用してデータを返すことができます

return my_status.json()

データをリストとして返す、またはHTMLを返すために、他のいくつかのオプションを使用できます。

最後に、jQueryとAJAX($ .ajax)を使用して、AJAXの戻り値をJSオブジェクトに簡単に割り当てることができるようにすることをお勧めします。これにより、JS関数の形式で成功またはエラーを処理することもできます。

于 2014-11-09T01:56:15.480 に答える