سلام استاد
من در آموزش 19 شما می خواهم عکس را در صفحه product_detail.html نمایش بدم و دستور {{object.image.url}} را هم می زنم در تگ <img> ولی در صفحه مورد نظر نشان نمی دهد.
البته پروژه من در درایو E می باشد
من عکس ها را در ادمین انتخاب می کنم و ذخیره می کنم
و به من در ران جنگو این خطاها را می دهد:
Traceback (most recent call last):
File "C:\Users\hp_pc\AppData\Roaming\Python\Python37\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\hp_pc\AppData\Roaming\Python\Python37\site-packages\django\core\handlers\base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
TypeError: serve() got an unexpected keyword argument 'documet_root'
[30/Oct/2021 07:43:50] "GET /media/products/download_1_jiibgdc.jpg HTTP/1.1" 500 61568
کد های من در صفحه urls:
path('products-fbv/<productId>', product_detail_view),
path('products/<pk>', ProductDetailView.as_view()),
کدهای من در صفحه views:
def product_detail_view(request, productId=None, *args, **kwargs):
products = get_object_or_404(Product, id=productId)
context = {
'object_list': products,
'abc': 'this is mt text data in context'
}
return render(request, 'products/product_detail.html', context)
class ProductDetailView(DeleteView):
queryset = Product.objects.all()
template_name = 'products/product_detail.html'
کدهای من در صفحه models:
class Product(models.Model):
title = models.CharField(max_length=150)
description = models.TextField()
price = models.DecimalField(max_digits=20, decimal_places=2, default=10.36)
image = models.FileField(upload_to="products/", null=True, blank=True)
def __str__(self):
return self.title
کدهای html من:
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>صفحه detail</title>
</head>
<body>
<p>
<img src="{{ object.image.url }}" alt="">
</p>
</body>
</html>
لطفا هر چه سریع تر کمکم کنید تا این مشکل برطرف شود تا من بتوانم قسمت های بعدی را هم ادامه دهم
ممنون
سلام دوست من
فایل تصویر رو مجدد آپلود کنید و دوباره تست کنین
سلام استاد
10 بار تست کردم ولی جواب نمی ده
با سلام.
در کدهای view ارسالی در قسمت تعریف class، این قسمت را
class ProductDetailView(DeleteView):به شکل زیر تغییر دهید:
class ProductDetailView(DetailView):
موفق باشید.