18

私はajaxビューを持っています:

def ajax_prices(request):
    data = {'data':'data'}
    return HttpResponse(json.dumps(data), mimetype='application/json')

これをローカルの json ファイル (prices.json) でテストしたいと思います。ローカルの json ファイルをインポートするにはどうすればよいですか?

ローカル json ファイル「prices.json」

{"aaData": [
[1, "70.1700", "2008-12-29 11:23:00"],
[2, "70.2600", "2008-12-29 16:22:00"],
[3, "70.6500", "2008-12-30 11:30:00"],
[4, "70.8700", "2008-12-30 16:10:00"],
[5, "70.5500", "2009-01-02 11:09:00"],
[6, "70.6400", "2009-01-02 16:15:00"],
[7, "70.6500", "2009-01-05 11:17:00"]
]}

私はそれを行うことはできません:

data = '/static/prices.json'
4

3 に答える 3

41

json モジュールを使用します。

import json

json_data = open('/static/prices.json')   
data1 = json.load(json_data) # deserialises it
data2 = json.dumps(data1) # json formatted string

json_data.close()

詳細については、こちらを参照してください。

Joe が言ったように、テスト データにはフィクスチャまたはファクトリを使用することをお勧めします。

于 2012-05-08T12:07:13.017 に答える
9

ここでの秘訣は、Python の組み込みメソッドをopenそのファイルに使用し、その内容を読み取り、jsonモジュールを使用して解析することです。

すなわち

import json

data = open('/static/prices.json').read() #opens the json file and saves the raw contents
jsonData = json.loads(data) #converts to a json structure
于 2012-05-08T12:12:35.510 に答える
4

これには Django フィクスチャを使用する必要があります。

https://docs.djangoproject.com/en/dev/topics/testing/?from=olddocs

于 2012-05-08T12:07:45.667 に答える