これまでのフォームから入力を受け取り、その値をjsonファイルに追加できる基本的なWebサイトを作成しています。また、jsonデータを "jsonページ"に表示することもできます。これは私が行う(json.dump(myGetJsonStuffFunc)、indent = 4、sort_keys = True)これは、サイトのAPIの部分に不思議に動作します。フラスコを使用してjsonからhtmlに抽出する
私がやりたいことは、その情報を取得して、ユーザーがより良い概観を得ることができる「通常の」htmlページで表示することです。
現在、私は変数にキーの値を設定することを望むSetValuesToHtmlという関数を持っています。これはrender_template呼び出しの前に私のルートで呼び出されます。しかし、変数とそれに格納されている情報にアクセスする方法を理解できません。
これは私の完全なviews.pyです:http://pastebin.com/cneKMtZf
問題(?私は願っています)ですこれら:
@app.route('/collection', methods = ['GET'])
def collectionH():
data = SetValuesToHtml()
return render_template(
'collection.html',
title='This is our collection'
)
と機能:私がでてる
def SetValuesToHtml():
checkData()
with open(filename+".json", "r") as infile:
data = json.load(infile)
infile.close()
pass
for tech in data['techs']:
return data.endposition
pass
本当に助けを求めてどこに行くかわからないので、私はあなたに手を差し伸べる。私は喜んでまっすぐ答えをとるだろうが、幸いなことに、私は何を読み上げるべきかについての指示を取るだろう。
は、私は '技術者' [データ、最後の数行は、あなたのコードの残りの部分によると
return data['techs']['endpos']
代わりの
for tech in data['techs']:
return data.endposition
pass
する必要があります疑うあなた
インデントに問題があります。 'with open ... 'は関数本体の一部ではありません。このインデントが実際のコードで正しい場合でも、 'return'は最初の繰り返しで関数を終了させるため、' for'ループで 'return'を使うことはできません。 – roganjosh
他にもいくつかあります: 'with'を使って開いたファイルに対して' close() 'を呼び出す必要はありません。また、私はあなたのコードのいくつかの点で 'pass'の目的関数を理解していません。しかし、インデントが自分のコードと一致するように質問を編集してください。 – roganjosh
私はコードを貼り付けたときに、それが私のideにあるように自動整列していないことに気付かなかった。謝罪します! クローズについては、一貫性を確保するために、開いた後にファイルを常に閉じるように指示されました。私は問題に遭遇していないので、私はそれが働いたと仮定しました。 私は教えられたことは、ブロックを離れて移動しなければならないことを機能に知らせることです。反復または移動のときに戻る。 返品は気に入っていませんでした。 – Berimbolinho