UnboundLocalError : строка поиска
Я пытаюсь настроить строку поиска, когда я ставлю хороший код на строку поиска, у меня есть продукт, который отображается, но если он не находит продукт, у меня возникает ошибка, поэтому я ставлю сообщение, если он не может найти продукт. сообщение об ошибке (UnboundLocalError: local variable 'product' referenced before assignment) И ошибка возникает на уровне строки, которая содержит контекст (context={'article':product} )
Views.py
@login_required
def search(request):
code=request.GET.get('search')
url='http://myAPI/Product/GetProduct'
x=requests.post(url)
contenu=x.json()
all_products=contenu['products']
selected_produit= next((item for item in all_products if item['code']== code),None)
if selected_produit != None:
product=selected_produit
else:
messages.error(request,'Article not found.')
context={'article':product}
return render(request,'panier/search.html',context)
search.html
{% if messages %}
{% for message in messages %}
<p {% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</p>
{% endfor %}
{% endif %}
{{article.code}}
{{article.name}}
Ошибка объясняет, что не так. Если selected_product
является None
, то product
никогда не присваивается значение. Присвойте ей значение в ветви else
или просто используйте selected_product
напрямую, поскольку, похоже, нет другого применения переменной product
.