簡體   English   中英

Django ImageField(圖像不顯示)

[英]Django ImageField ( Image does not display )

我正在嘗試為管理員構建一個 CMS,他可以在其中更改圖像。 但到目前為止它不起作用,我找不到錯誤。

這是模型,沒有 default.png

模型.py

class Media(models.Model):
    image = models.ImageField(blank=True, null=True)

    class Meta:
        verbose_name_plural = "Photo"

    def __str__(self):
        return self.image.name

設置.py

STATIC_URL = '/static/'


STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'assets'),
)

MEDIA_URL = '/media/'

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

print(MEDIA_ROOT)

視圖.py

def gallery_view(request):
   return render(request, 'web/gallery.html', context={"pic": Media.objects.first()})

這是我的ImageField模板

<img class="ui bordered image" src="{{ pic.image.url }}">

網址.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('webpage/', include('webpage.urls')),
    path('', include('web.urls')),
    path(r'^', include('web.urls', namespace='web')),
]


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

現在,當我print(MEDIA_ROOT)我的終端顯示:

'Not Found: /media/default.png'

"GET /media/default.png HTTP/1.1" 404 1808"

"POST /admin/web/media/add/ HTTP/1.1" 302 0"

"GET /admin/web/media/ HTTP/1.1" 200 1282"

有沒有人給我建議錯誤在哪里? 提前致謝。

class Media(models.Model):
    image = models.ImageField(blank=True, null=True)

為您的模型提供默認值

image = models.Imagefield(blank =True, null=True, default ="add photo")

添加默認值后進行遷移和遷移。

不太確定意見

def gallery_view(request):
 if(request.method=='POST'):
    = request.POST['media']
   value = 'Media : %s (media)
 return render(request, 'web/gallery.html', context={"pic": Media.objects.first()})

仔細檢查是否在 settings.py 中添加了靜態和媒體 URL 的路徑。 對於靜態網址:

STATIC_URL = '/static/'
STATIC_ROOT = 'staticfiles'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

對於媒體網址:

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

要訪問顯示您的 img:

 <img class="border-radius-50 profile-img" src="{{ MEDIA_URL }}{{  pic.image.url }}" alt="...">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM