Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:如何让模板视图显示图像——Noob版_Python_Django_Python 3.x - Fatal编程技术网

Python Django:如何让模板视图显示图像——Noob版

Python Django:如何让模板视图显示图像——Noob版,python,django,python-3.x,Python,Django,Python 3.x,注意:关于堆栈溢出,有很多问题与此相关。但是,这不是重复的,因为它需要noob级别的解释(即完成Django教程的人) 因此,我完成了Django教程,并开始制作自己的网站,以巩固我所学到的知识(并对其进行扩充)。我想做一个网站,可以显示一个给定对象的一些图像。因为前面提到的很多帖子都使用商品和图片(例如,在亚马逊上模拟一个产品的多个图片),所以我们也可以在这篇帖子中使用 我为自己制作了一个应用程序,并使用了名称间隔的URL和模板(如教程中所述) 此外,根据多对一文档,我有两种型号Product

注意:关于堆栈溢出,有很多问题与此相关。但是,这不是重复的,因为它需要noob级别的解释(即完成Django教程的人)

因此,我完成了Django教程,并开始制作自己的网站,以巩固我所学到的知识(并对其进行扩充)。我想做一个网站,可以显示一个给定对象的一些图像。因为前面提到的很多帖子都使用商品和图片(例如,在亚马逊上模拟一个产品的多个图片),所以我们也可以在这篇帖子中使用

我为自己制作了一个应用程序,并使用了名称间隔的URL和模板(如教程中所述)

此外,根据多对一文档,我有两种型号
Product
ProductImage
,后者有一个
ForeignKey

class Product(models.Model):
    ...

class ProductImage(models.Model):
    product = models.ForeignKey("Product", on_delete=models.CASCADE)
    image = models.ImageField(upload_to=product_dir_path)
使用反向多对一监视器(例如,
aSpecificProduct.productimage\u set.all()
),我抓取了我在应用程序目录下设置的所有图像
/uploads/product\u/image\u
,使用文档部分中的小
上传到
技巧

 def product_dir_path(instance, filename):
    return "<my_app>/uploads/product_{0}/{1}".format(instance.product.id, filename) 
我在浏览网站时看到了什么

<img src="<my_app>/uploads/<specific_product>/image_<number>.png"/>
工作但是


如果后者具有
src=“/static//product\u图像/product\u/”

前一个
静态//product\u图像/product\u/

对您的mysite/url.py进行某些更改

<img src="{{img.image.url}}"/>
settings.py文件

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [

]


if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, 
document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

新项目中不存在的媒体文件夹是什么?为什么?(记住这是noob版)我不能接受这个答案,因为它没有解决问题的全部内容。只需阅读docs@allcaps我理解django教程中解释的特定于应用程序的静态目录,这对我来说没有意义me@allcaps,我跟着那个文档页面,而我仍然得到404@allcaps我还非常确定这有一个与报价相关的错误
src=“{%static”my_app/example.jpg“%}”
Nope,这是正确的模板代码。没有错误。如果有错误,请发布。
<img src="{{img.image.url}}"/>
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [

]


if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, 
document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
STATIC_URL = '/static/'

MEDIA_URL = '/media/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn')
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'media_cdn')