python - 静态图像未在 django 3.1.7 中加载
问题描述
我正在尝试在我的网络应用程序中显示图像,但由于某种原因,它没有显示并给出 404 错误。我认为在 urls.py 中我正确添加了静态,即使将其更改为 STATIC_ROOT 仍然没有意义。同时IDE没有给出任何错误只是静态不起作用。
设置.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
推荐阅读
- api - api文档请求/对接平台
- python - 在 context.bot.send_message() 中解析变量
- python - Python 中的 ks 测试为 2 组不同的数据返回完全相同的 p 值
- c++ - 我不明白 lambda 函数。它是如何评估的?
- c# - 如何在 FluentMigrator 中获取最后插入的 id
- flutter - NoSuchMethodError:getter 'status' 在 Flutter 上被调用为 null
- python - Pygame:在圆形路径中围绕另一个图像移动图像
- php - 通过第三方软件将文件上传到 S3 存储桶
- docker - 如何根据healthchek重定向流量?
- python - ORM django,按 object.proprety 过滤