Django:使用static_cdn下的media_root时,模板上未显示图像

时间:2018-08-11 14:45:58

标签: python django django-staticfiles django-media django-static

我的settings.py文件包含以下内容:

   STATIC_URL = '/static/'
   STATICFILES_DIR = os.path.join(BASE_DIR,'static_blog')
   STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),'static_cdn','static_root')
   MEDIA_URL = '/media/'
   MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR),'static_cdn','media_root')'

和urls.py文件包含以下内容:

   from django.contrib import admin
   from django.urls import path
   from django.conf.urls import url , include
   from django.conf import settings
   from django.conf.urls.static import static


   urlpatterns = [
           path('admin/', admin.site.urls),
           url('^', include('enc_vip_blog.urls')),

   ]

,然后在运行collectstatic命令时,该项目的目录结构如下: static_cdn ----> media_root ---->和我上传的图片

我的models.py的图片字段如下所示:

   image = models.ImageField(upload_to='blog/',null=True,blank=True)

仍然可以在运行应用程序时看到所有的东西,而不是图像。

我在模板中使用了以下内容

   <ul>{%for object in object_list%}

    <!--use-->
    <!--<li><a href="{% url 'detail' slug=object.slug%}">{{ object.title }}</a></li>-->
    <!--or-->
    <li><a href="{{ object.get_absolute_url }}">{{ object.title }}</a></li>
        {{ object.body }}
    {%if object.image%}
         <img src="{{ object.image.url }}">
    {%endif%}

        {{ object.created }}
        tagged under {{ object.tags.all|join:', ' }}
   {%endfor%}
   </ul>

除图像外,所有标题,正文等东西都会显示

在管理员中,当我尝试使用链接浏览上载的图像时,它给出了错误?

感谢您提供任何帮助吗?

0 个答案:

没有答案