2

私がやろうとしていることを説明しましょう。誰かがそれを行う正しい方法と、私が立ち往生している場所への解決策を指摘できれば、それは素晴らしいことです。

誰かがURLを入力します

www.ABC.com/showItem/Blackberry

データベースで「Blackberry」を検索してそのデータを見つけました。次に、その詳細を1ページに表示します。

したがって、ビューで私はこれを行います

return_data=simplejson.dumps(response_dict)

return render_to_response('workmodule/show_item_details.html', {"item_complete_data": return_data}, context_instance=RequestContext(request))

myHTMLではこれを行います

data_from_django = {{ farm_complete_data }}

Question 1:これは、HTMLのJSONデータにアクセスするための正しい方法ですか?どういうわけか私はより良い/よりクリーンな方法があるべきだと思います。

Question 2:もう1つの問題は、すべての引用符がに置き換えられる"""ため、javascriptが壊れることです。上記が正しい方法である場合、文字列を正しく「デコード」する方法。

Note :私は以前にjqueryの.ajax関数を使用しましたが、すでにページを表示していてバックエンドを呼び出している場合はうまく機能します。その場合のビューは上記と同じ方法でデータを返し、データはエスケープされませんでした。または、私のajaxが成功したとき、またはエラーが発生したときまでに、関数がそれを処理したように見えました。

これをご覧いただきありがとうございます。

4

2 に答える 2

8

質問1:その通りです。

質問2:デコードせず、安全な場所にパイプで送信します:{{farm_complete_data | safe}}なので、HTMLエスケープを試みません。

于 2010-01-09T21:48:58.733 に答える
0

なぜそれをテンプレートに渡すのですか?JSONが必要なだけなので、ビューで次のようにします。

return simplejson.dumps(response_dict)

そうすれば、エンコード/引用について心配する必要はありません。

于 2010-01-10T10:21:00.813 に答える