Request object does not have META attribute

Here is my view:

def data(request, symbol): context_dict = {} NASDAQ = "http://www.nasdaq.com/symbol/{}/financials?query=income-statement".format(symbol) import urllib.request from bs4 import BeautifulSoup user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7' headers = {'User-Agent': user_agent, } request = urllib.request.Request(NASDAQ, None, headers) # The assembled request response = urllib.request.urlopen(request) html_data = response.read() # The data u need soup = BeautifulSoup(html_data) genTable = soup.find_all("div", class_="genTable") context_dict['genTable'] = genTable return render(request, 'data.html', context_dict) 

When I return the HttpResponse , there is no error.

I am trying to make context_dict higher in a data template. This gives me a 'Request' object has no attribute Meta . How to fix it?

+5
source share
2 answers

You replaced the request object passed to your local variable representation in the string

 request = urllib.request.Request(NASDAQ, None, headers) # The assembled request 

Call this variable something else. how

 assembled_request = urllib.request.Request(NASDAQ, None, headers) # The assembled request response = urllib.request.urlopen(assembled_request) 
+10
source

You reassigned the django request with return value from urllib, so your other lines do not work:

 request = urllib.request.Request(NASDAQ, None, headers) 

Modify the above line so that it evaluates to a value other than request .

+2
source

All Articles