Я пытаюсь отправить словарь методом перенаправления. Но не получить его в перенаправленном шаблоне. Я пытался передать словарь, как это было раньше в функции рендеринга, но я не думаю, что делаю это правильно. Я также пытался HttpResponseRedirect , но это тоже не работает. Я получаю странную ошибку
NoReverseMatch at /
views.py
def index(request):
if request.method == "POST":
url = request.POST.get('url', '')
r = requests.get(url)
soup = BeautifulSoup(r.content, features="lxml")
p_name = soup.find_all("h2",attrs={"class": "a-size-mini"})
p_price = soup.find_all("span",attrs={"class": "a-price-whole"})
p_image = soup.findAll('img', {'class':'s-image','src':re.compile('.jpg')})
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="product_file.csv"'
for name,price,image in zip(p_name,p_price,p_image):
writer = csv.writer(response)
row = writer.writerow([image['src'],name.text, price.text,])
name_data = [data.text for data in p_name]
price_data = [data.text for data in p_price]
image_data = [data['src'] for data in p_image]
dec = {'name':name_data, 'price':price_data, 'image':image_data, 'url':url}
return redirect('data', dec)
return render(request, 'index.html')
urls.py
from django.urls import path, include
from . import views
urlpatterns = [
path('', views.index, name="index"),
path('upload',views.upload,name='upload'),
path('data',views.data,name='data')
]