• 1400/08/08

نشان ندادن عکس در آموزش شماره 19 :

سلام استاد

من در آموزش 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>

 

لطفا هر چه سریع تر کمکم کنید تا این مشکل برطرف شود تا من بتوانم قسمت های بعدی را هم ادامه دهم

ممنون

 

 

  • 1400/08/08
  • ساعت 11:38

سلام دوست من

فایل تصویر رو مجدد آپلود کنید و دوباره تست کنین


  • 1400/08/08
  • ساعت 14:17

سلام استاد

10 بار تست کردم ولی جواب نمی ده

 


  • 1400/08/09
  • ساعت 19:58

با سلام.

 

در کدهای view ارسالی در قسمت تعریف class، این قسمت را

class ProductDetailView(DeleteView):

به شکل زیر تغییر دهید:

class ProductDetailView(DetailView):

 

موفق باشید.