在设置.py在
STATIC_URL = '/static/'
MEDIA_ROOT='/home/akanksha/bookepdia/media/'
MEDIA_URL = '/media/'
TEMPLATE_DIRS = ('/home/akanksha/bookepdia/templates',)
在模型.py在
^{pr2}$在网址.py在
urlpatterns = patterns('',
url(r'^$', 'bookepdia.views.home', name='home'),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
在视图.py在
def home(request):
photos = Image.objects.all()
return render_to_response('display.html', {'photos' : photos})
在显示.html在
<html>
<h3>Images of books</h3>
<img src="/media/images/image_name" />
{% for p in photos %}
<img src="{{p.photo.url}}" />
{% endfor %}
</html>
现在,我的问题是,当我添加了/media/images/image_name时,会显示图像,但是当我使用{p。照片.url}}图像显示为断开图标。 我发现它的路径是/home/akanksha/bookepdia/media/images/image\u name。 现在,我想对每个url进行编辑,使其作为/media/images/image_name工作。在
ImageField的
upload_to
属性不是绝对路径,它是相对于MEDIA_ROOT
设置的。在你的情况应该是这样的:
请参阅文档:https://docs.djangoproject.com/en/1.8/ref/models/fields/#django.db.models.FileField.upload_to
不应该给
ImageField
中upload_to
的绝对路径,它应该是相对于媒体根的路径。在相关问题 更多 >
编程相关推荐