我无法将图像加载到Django中的页面。试过什么

时间:2016-03-17 06:26:58

标签: django python-2.7 django-models django-templates django-views

我无法将图像加载到Django中的页面。试过什么 测试简单的例子

这是我的代码:

我的模特

class Head(models.Model):
    class Meta:
        verbose_name_plural='Test'

    title = models.CharField(max_length=50, verbose_name='Name')
    text = models.TextField(verbose_name='Text')
    img = models.ImageField(verbose_name='image')
    date = models.DateTimeField(auto_now_add=True)

我的设置

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

我的观点

def show(request):
    args={}
    args['head'] = Head.objects.get()
    return render_to_response('main.html', args)

我的网址

from Test import settings

urlpatterns = [
    url(r'^', 'app.views.show' ),

]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我的模板

<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
<head>
    <meta charset="UTF-8">

</head>
<body>

<title>{{ head.title }}</title>
<h1>{{ head.text }}</h1>
<a href="#"><img src="{{ head.img.url }}"></a>

</body>
</html>

  1. 列出项目 这告诉我这个:
  2. enter image description here

1 个答案:

答案 0 :(得分:0)

您是否在项目级网址文件中添加了媒体网址条目?

如果图像文件显示404响应,您可以这样做:

# myproject/urls.py
from django.conf import settings
from django.conf.urls.static import static
...
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)