我正在尝试通过将照片存储在图库数据库中并在适当时将其拉出来创建照片库。
然而,我遇到了如何在网址中公开曝光图片的问题。在我的模板中,我返回了照片的网址,原来是images / photo.jpg。但是在我的开发服务器中,当我输入网址192.0.0.1:8000/images/photo.jpg(它不存在)时,我无法查看图像。有没有办法通过对象提供的URL访问url / image而无需手动篡改urls.py?如果没有,为什么Django提供.url字段?这是唯一推荐的网址吗?
我的观点:
def gallery(request):
base_gallery = gall.objects.get(name="base")
base_list = base_gallery.photos.all()
return render_to_response('gallery.html',
{'list_of_images':base_list},
context_instance = RequestContext(request),
)
模板:
{% extends "index.html" %}
{% block body_content %}
{% for photo in list_of_images %}
{{ photo.image.url }}
{% endfor %}
{% endblock %}
型号:
from django.db import models
class photo(models.Model):
name = models.CharField(max_length=50,blank=True,null=True)
source_descr = models.CharField(max_length=100,blank=True,null=True)
image = models.ImageField(upload_to='images')
class gallery(models.Model):
name = models.CharField(max_length=50)
photos = models.ManyToManyField(photo)
答案 0 :(得分:1)
在您的设置文件中,您为MEDIA_URL
提供的值是多少,如果它是/media/
检查以下网址。
192.0.0.1:8000/ 媒体强> /images/photo.jpg