首页 > 解决方案 > 图像未在 django 中显示

问题描述

模型中的所有数据都是可见的,除了图像..尝试了一切..枕头是预装的..静态 url 和 root 是正确的..但无法弄清楚图像有什么问题..

html..

    <div class="col-sm-6">
                        <div class="profile-image">
                            <img src="{{About.image}}" alt="profile photo">
                        </div><!-- end profile-image -->
                    </div><!-- end col -->
                    <div class="col-sm-6">
                        <div class="about-text">
                            <p> {{ About.first.desc}}</p>

模型.py

      from django.db import models
         import datetime
         # Create your models here.
          class About(models.Model):
          image = models.ImageField(upload_to = 'pics')
          desc  = models.TextField()

设置.py

               STATIC_URL = '/static/'
               STATICFILES_DIRS =[
                         os.path.join(BASE_DIR,'portfolio/static')
                        ]
                      STATIC_ROOT = os.path.join(BASE_DIR,'assets')

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

项目网址.py

     from django.contrib import admin
      from django.urls import path,include
      from django.conf import settings
     from django.conf.urls.static import static
    urlpatterns = [

path('admin/', admin.site.urls),
path('home/', include("home.urls")),
path('blog/', include("blog.urls")),


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

标签: pythondjango

解决方案


它应该是

<div class="profile-image">
    <img src="{{About.image.url}}" alt="profile photo">
</div>

并确保你的 urls.py 看起来像这样:

urlpatterns = [ 
 <your url patterns here> 
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

推荐阅读