2016-12-08 4 views
2

私は現在、次のコードを持っている:ジャンゴ:リターンはハッシュ可能エラーをレンダリング

url = "http://www.andes.ucmerced.edu/smap/backend/api/query\? key\=9te21wWjfSZuq9aYqPqfwa3S8qBYAWP5zlav" 
query = "select data in (now -1440minutes, now) where Metadata/Location/Building='Facilities A' and Metadata/Location/Room ='130' and Metada/Haystack/Tags ~ 'temp'" 
r = requests.post(url, data=query).json() 
query1 = "select data in (now -1440minutes, now) where Metadata/Location/Building='Facilities A' and Metadata/Location/Room ='130' and Metada/Haystack/Tags ~ 'flow'" 
r1 = requests.post(url, data=query1).json() 
query2 = "select * where Metadata/Location/Building='Facilities A' and Metadata/Location/Room ='130'" 
r2 = requests.post(url, data=query2).json() 
query3 = "select data in (now -1440minutes, now) where Metadata/Location/Building='Facilities A' and Metadata/Location/Room ='130'" 
r3 = requests.post(url, data=query3).json() 
N_func = [] 
for datum in r3: 
    for datum1 in r2: 
     if datum['uuid'] == datum1['uuid']: 
      if len(datum['Readings']) == 0: 
       N_func.append(datum1) 
for datum in N_func: 
    r = datum['Path'].split('/') 
    datum['Path'] = r 


return render(request, 'polls/room_130.html', {'Temp': r}, {'Flow': r1}, {'N_Func': N_func},) 

を私は

Traceback (most recent call last): 
    File "C:\Python27\lib\wsgiref\handlers.py", line 85, in run 
    self.result = application(self.environ, self.start_response) 
    File "C:\Python27\lib\site-packages\django\contrib\staticfiles\handlers.py", line 63, in __call__ 
return self.application(environ, start_response) 
    File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 174, in __call__status = '%d %s' % (response.status_code,        response.reason_phrase) 
    File "C:\Python27\lib\site-packages\django\http\response.py", line 67, in reason_phrase 
    return responses.get(self.status_code, 'Unknown Status Code') 
TypeError: unhashable type: 'dict' 
[08/Dec/2016 05:07:31] "GET /polls/layout/room_130/ HTTP/1.1" 500 59 

は親切に私には理由が何ができるか知っているというエラーを取得します。私はすべてを試しました。 JSONにレンダリングするオブジェクトを変更しようとしました。しかし、それはまだ動作しません。

答えて

3

あなたは、テンプレートのコンテキストに単一の辞書を使用する必要があります。

return render(request, 'polls/room_130.html', {'Temp': r, 'Flow': r1, 'N_Func': N_func}) 

あなたの現在のコードは同等です:

return render(request, 'polls/room_130.html', {'Temp': r}, content_type={'Flow': r1}, status={'N_Func': N_func} 

ステータスは整数(200によってでなければなりませんので、これは、エラーが発生しますデフォルト)。辞書ではありません。

+0

ありがとうございます! –

関連する問題