Django上传的图片无法显示-其他答案无济于事

时间:2019-02-23 15:57:46

标签: python django

我搜索了其他线程并尝试应用答案,但是我无法在Django页面中显示图像。这是我所有相关的代码:

设置:

document.getElementById('background').style.background

URL:

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

型号:

urlpatterns = [
    path('', views.homepage, name='homepage'),
    path('register', views.register, name='register'),
    path('logout', views.logout_request, name='logout'),
    path('login', views.login_request, name='login'),
    path('<single_slug>', views.single_slug, name='single_slug'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

观看次数:

class TutorialCategory(models.Model):
    tutorial_category = models.CharField(max_length=200)
    category_summary = models.CharField(max_length=200)
    category_slug = models.CharField(max_length=200)
    category_image = models.ImageField(upload_to='images', blank=True)
    class Meta:
        verbose_name_plural = 'Categories'
    def __str__(self):
        return self.tutorial_category

HTML显示:

def homepage(request):
    return render(request=request,
                  template_name='main/categories.html',
                  context={'categories': TutorialCategory.objects.all})

感谢您的帮助。我是Django的新手,最近几天一直在观看许多视频以供学习。有很多工作正常,但无法显示此图像。谢谢。

2 个答案:

答案 0 :(得分:0)

尝试使用{{ cat.category_image.image.url }}而不是{{ cat.category_image.url }}来查看图像是否显示。另外,请确保在表单元素enctype="multipart/form-data中使用它。

答案 1 :(得分:0)

哇,没想到这会成为问题,但看起来我已经找到了问题。在要遍历多个教程并且每个类别都需要图片的地方,我只上传了7个类别之一的图片。一旦我给他们所有照片,它们就会开始显示出来。我猜如果我要遍历一个模型,每个项目必须具有所有字段值吗?您可以分配默认的ImageField值吗?