Skip to main content
 首页 » 编程设计

python之Django:返回呈现可哈希错误

2024年08月21日41飞鱼

我目前有以下代码:

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。但它仍然不起作用。

请您参考如下方法:

您应该为模板上下文使用单个字典:

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),而不是字典。