微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django 3.1.7 中未加载静态图像

如何解决django 3.1.7 中未加载静态图像

我正在尝试在我的网络应用程序中显示图像,但由于某种原因,它没有显示并给出 404 错误。 我认为在 urls.py 中我正确添加了静态,即使将其更改为 STATIC_ROOT 仍然没有意义。同时 IDE 没有给出任何错误,只是静态不起作用。

settings.py



from pathlib import Path
import os
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

DEBUG = True

ALLOWED_HOSTS = []


# Application deFinition

INSTALLED_APPS = [
 'blog.apps.BlogConfig','jobs.apps.JobsConfig','django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','portfolio',]

# Skipped Database and some other parts.

# STATICFILES_Dirs = [
#     os.path.join(BASE_DIR,'static')
# ] That part is giving error in new django 3.1.7 so I removed.

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

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

***urls.py***                     

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

urlpatterns = [
 path('admin/',admin.site.urls),path('',jobs.views.home,name='home'),path('blog/',include('blog.urls')),] + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

**home.html**
<img src="{% static 'images/img1.JPG' %}" alt="Couldn't load" class="img-fluid" height=150 width=150>
#this is specific part of the html 

解决方法

Django 3.1.7 使用以下语法: 像这样在项目中构建路径:BASE_DIR / 'subdir'.

代替subdir,你应该写static

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。