无法显示上传的图像djang

2024-03-28 20:11:14 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么我不能使用以下设置正确显示上传的图像。 在查看页面源代码时,url显示正确(我认为)。图像只是损坏的图像缩略图图像。源中的url显示为/media/uploads/group_images/my_image_name

如果相关,图像是从管理员上传的,但我也希望能够上传到其他地方(即渲染模板中的上传表单)

在设置.py在

....
MEDIA_URL = "/media/"
MEDIAFILES_DIRS = []
MEDIA_ROOT = os.path.join(BASE_DIR, "media")

在模型.py在

^{pr2}$

在表单.py在

^{3}$

在网址.py在

urlpatterns = patterns('blog.views',
 (r'^admin/', include(admin.site.urls)),
  .....,
 (r'^ckeditor/', include('ckeditor.urls')),
 (r"", "main"),
 ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

视图

def main(request):

    groups = BlogGroup.objects.all().order_by("created")
    context = {'groups':groups, 'user':request.user}
    return render(request, "list.html", context)

模板

{% for group in groups %}
<div class = "row">
    <div class = "col-xs-12">
        {{ group.title }}
    </div>
    <div class = "col-xs-12">
        <img src = "{{ group.image.url }}" alt = ""/>
    </div>
</div>
{% endfor %}

Tags: py图像imagediv模板url表单request
2条回答

改变你网址.py像这样:

    urlpatterns = patterns('blog.views',
 (r'^admin/', include(admin.site.urls)),
  .....,
 (r'^ckeditor/', include('ckeditor.urls')),
 (r"", "main"),
 ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

问题出在你的url调度程序中。 当django继续向dispatcher发送url时,它会从上到下逐个抛出您的url,如果存在regexp匹配则停止。在

您在(r"", "main"),中的url ""与所有字符串匹配。 您需要将其替换为(r"^$", "main"),以匹配空字符串。在

更多信息:

相关问题 更多 >