Skip to main content
 首页 » 编程设计

python之Django,在模板中显示上传的图片 URL

2024年11月01日30dudu

我目前正在学习如何在 Django 中上传和显示图像,但我遇到了一个问题,我不知道如何从数据库中调用图像位置,然后在模板中显示它...我错过了什么?

设置

MEDIA_ROOT = '/Users/chr/Desktop/DJANGO-APP/media/' 
MEDIA_URL = '/media/' 

模型

class Product(models.Model): 
    product_name = models.CharField(max_length=200) 
    product_description = models.TextField() 
    def __unicode__(self): 
        return self.product_name 
 
class Image(models.Model): 
    product_image = models.ForeignKey(Product) 
    image = models.ImageField(upload_to='image') 

观看次数

def productpage(request, product_image_id): 
    product = get_object_or_404(Product, pk=product_image_id) 
    render(request, 'polls/productpage.html', {'product': product}) 

html

<h1>{{ product.product_name }}</h1> 
<br> 
{{ product.product_description  }} 
<br> 
{{ product.image.url }} 

编辑:

urls.py(主)

from django.conf.urls import patterns, include, url 
from django.conf import settings 
from django.conf.urls.static import static 
from django.contrib import admin 
 
admin.autodiscover() 
 
urlpatterns = patterns('', 
    url(r'^polls/', include('polls.urls', namespace="polls")), 
    url(r'^admin/', include(admin.site.urls)), 
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

请您参考如下方法:

def productpage(request, product_image_id): 
    product = get_object_or_404(Image, product_image=product_image_id) 
    render(request, 'polls/productpage.html', {'product': product}) 

我猜 product_image_id 指的是产品 ID?