Order page after selection of product
models.py
`
class Product(models.Model):
name = models.CharField(max_length=50 , verbose_name='العنوان')
disc = models.TextField (null=True , verbose_name='وصف المنتج')
price = models.DecimalField (max_digits=5 , decimal_places=0 , null=True , verbose_name='السعر')
photo = models.ImageField (null=True, upload_to='static\product_images', verbose_name='صورة المنتج')
active = models.BooleanField(default=True , verbose_name='حالة المنتج')
category = models.CharField(max_length=50,null=False)
slug = models.SlugField(blank=True, null=True)
urls.py
`
urlpatterns = [
path('', views.Product_list , name= 'home'),
path('product/<int:product_name>/', views.Product_details , name= 'Product_details'),
path('product/<int:product_name>/order', views.Product_order , name= 'order'),
path('qa/', views.Question_list , name= 'Question_list'),
path('annoncement/', views.Blog_list , name= 'Blog_list'),
path ('about/' , views.about , name='about'),
``
views.py
`
def Product_order (request, product_name):
if request.method == 'POST':
order = OrderForms(request.POST)
return render (request , 'order.html' , {'order' : order,})
`
error
UnboundLocalError at /product/2/order cannot access local variable 'order' where it is not associated with a value
solution for my probleme
You have your order variable inside if statement that means it has the local scope. But, you call it outside of its scope. You can return inside if.
def Product_order (request, product_name):
if request.method == 'POST':
order = OrderForms(request.POST)
return render (request , 'order.html' , {'order' : order,})
// return some errors