Отображение динамической таблицы в шаблоне Django
Когда я запускаю этот единственный код в отдельном файле python, он работает отлично. Но при использовании шаблона Django цепочка опций не выводится. Возникла следующая ошибка:
Ошибка атрибута в /nifty У объекта 'Response' нет атрибута 'META' мой код представления .......
url = 'https://www.nseindia.com/api/option-chain-indices?symbol=NIFTY'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36 Edg/103.0.1264.37','accept-encoding': 'gzip, deflate, br','accept-language': 'en-GB,en;q=0.9,en-US;q=0.8'}
session = requests.Session()
request = session.get(url,headers=headers)
cookies = dict(request.cookies)
response = session.get(url,headers=headers,cookies=cookies).json()
rawdata = pd.DataFrame(response)
rawop = pd.DataFrame(rawdata['filtered']['data']).fillna(0)
data = []
for i in range(0,len(rawop)):
calloi = callcoi = cltp = putoi = putcoi = pltp = callvol = putvol = callpChange = putpChange = callIV = putIV = 0
stp = rawop['strikePrice'][i]
if(rawop['CE'][i]==0):
calloi = callcoi = 0
else:
calloi = rawop['CE'][i]['openInterest']
callcoi = rawop['CE'][i]['changeinOpenInterest']
cltp = rawop['CE'][i]['lastPrice']
callvol = rawop['CE'][i]['totalTradedVolume']
callpChange = rawop['CE'][i]['pChange']
callIV = rawop['CE'][i]['impliedVolatility']
if(rawop['PE'][i] == 0):
putoi = putcoi = 0
else:
putoi = rawop['PE'][i]['openInterest']
putcoi = rawop['PE'][i]['changeinOpenInterest']
pltp = rawop['PE'][i]['lastPrice']
putvol = rawop['PE'][i]['totalTradedVolume']
putpChange = rawop['PE'][i]['pChange']
putIV= rawop['PE'][i]['impliedVolatility']
opdata = {
'CALL IV': callIV, 'CALL CHNG OI': callcoi,'CALL OI': calloi, 'CALL VOLUME': callvol,'LTP CHANGEC': callpChange, 'CALL LTP': cltp, 'STRIKE PRICE': stp,
'PUT LTP': pltp, 'LTP CHANGEP': putpChange, 'PUT VOLUME': putvol, 'PUT OI': putoi,'PUT CHNG OI': putcoi , 'PUT IV': putIV
}
data.append(opdata)
optionchain = pd.DataFrame(data)
print(optionchain)
json_records = optionchain.reset_index().to_json(orient ='records')
arr = []
arr = json.loads(json_records)
context = {'show': arr}
return render(request, "NIFTY/nifty.html", context)