我目前正在学习如何在 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?
