Django中媒体文件的配置

news/2024/12/21 22:09:58/

1,在设置文件settings.py中配置

python">MEDIA_ROOT = BASE_DIR / 'media/'
MEDIA_URL = '/media/'

2,在根路由文件中加入静态路由(需导入settings和static函数)

python">from django.contrib import admin
from django.urls import path, include
#static函数用于返回服务器文件的路由
from django.conf.urls.static import static
from django.conf import settingsurlpatterns = [path('admin/', admin.site.urls),path('', include('frontend.urls')),path('backend/', include('backend.urls')),path('testing/', include('testing.urls')),
] + static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)

3,模板文件中的使用

<img src="{{ MEDIA_URL|add:'testing/books/'|add:item.imageurl}}" alt=""/>

django的settings.py如下:

python">"""
Django settings for knowbase project.Generated by 'django-admin startproject' using Django 3.2.13.For more information on this file, see
https://docs.djangoproject.com/en/3.2/topics/settings/For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.2/ref/settings/
"""from pathlib import Path# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-0qwcfd%lznz_h)564jioij)i4z24m_vku#+gq)9+$1=0o1ln-p'# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = TrueALLOWED_HOSTS = []# Application definitionINSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','frontend','backend','testing'
]MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
]ROOT_URLCONF = 'knowbase.urls'TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [BASE_DIR / 'templates'],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages','django.template.context_processors.media',],'builtins':['django.templatetags.static']},},
]WSGI_APPLICATION = 'knowbase.wsgi.application'# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databasesDATABASES = {'default': {#使用的数据库类型'ENGINE': 'django.db.backends.mysql','HOST': 'localhost','PORT':'3306','USER':'root','PASSWORD':'123456','NAME': 'knowbase',}
}# Password validation
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validatorsAUTH_PASSWORD_VALIDATORS = [{'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',},{'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',},{'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',},{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',},
]# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/LANGUAGE_CODE = 'zh-Hans'TIME_ZONE = 'Asia/Shanghai'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = True# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.2/howto/static-files/STATIC_URL = '/static/'STATICFILES_DIRS = [BASE_DIR / 'static']# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-fieldDEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'MEDIA_URL = '/media/'MEDIA_ROOT = BASE_DIR / 'media/'

http://www.ppmy.cn/news/1533745.html

相关文章

昇思MindSpore进阶教程--使能图算融合

大家好&#xff0c;我是刘明&#xff0c;明志科技创始人&#xff0c;华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享&#xff0c;如果你也喜欢我的文章&#xff0c;就点个关注吧 正文开始 图算融合是MindSpore特有的网络…

Android Studio 占满C盘快速解决方法

首先&#xff0c;把 C:\Users\用户名\.android 和 C:\Users\用户名\.gradle 移动到D盘。 然后打开 CMD&#xff08;PowerShell 不行&#xff09;&#xff0c;执行下面的命令&#xff1a; mklink /d C:\Users\用户名\.android 移动后.android的路径 mklink /d C:\Users\用户名…

liunxcentos7下 跟目录空间不足docker load镜像报错空间不足

前两天在公司&#xff0c;做jenkins流水线项目&#xff0c;然后把项目放到docker容器里面运行&#xff0c;就在我把镜像打好包的时候正准备往服务器里面导入镜像的时候报错&#xff1a;如图所示 这时发现自己的根目录空间不足。 解决办法&#xff1a;重新加一块磁盘将磁盘挂载…

论文笔记:Anytime Continual Learning for Open Vocabulary Classification

1. 挑战/问题 在开放词汇表图像分类中&#xff0c;随着时间的推移&#xff0c;模型需要不断学习新的标签&#xff0c;同时保留对旧标签的记忆。这导致几个挑战&#xff1a; 数据增量学习&#xff1a;模型需要在任意时间点有效地吸收新的训练样本。模型持续改进&#xff1a;模…

快速创建第一个Spring Boot 项目

一、介绍 Spring Boot 是一个开源的 Java 基础框架&#xff0c;它基于 Spring 框架&#xff0c;用于创建独立、生产级别的基于 Spring 的应用程序&#xff0c;你可以“跑起来”&#xff08;run&#xff09;你的 Spring 应用程序。Spring Boot 让基于 Spring 的应用开发变得更容…

戴尔PowerEdge R840服务器亮黄灯 不开机

最近接修到一台东莞用户的DELL PowerEdge R840 服务器因为意外断电后&#xff0c;无法正常开机的问题&#xff0c; 大概故障现象是 插上电源线 按卡机按钮无响应&#xff0c;无法开机&#xff0c;无显示输出&#xff0c;工程师到现场检修&#xff0c;经过idrac中日志分析&#…

每天五分钟玩转深度学习框架pytorch:多种定义损失函数的方法

本文重点 再编译神经网络的时有两个必要的元素,其中一个是损失函数,另外一个是优化器。前面的专栏我们已经介绍了优化器,本节课程我们介绍损失函数。损失函数属于神经网络训练的第5步。 nn.Module 和 nn.functional的损失函数 我们前面介绍过nn.Module和nn.functional的区…

算法专题二: 滑动窗口

目录 1. 长度最小的子数组2. 无重复字符的最长子串3. 最大连续1的格数Ⅲ4. 将x减到0的最小操作数5. 水果成篮6. 找到字符串中所有字母异位词7. 串联所有单词的子串8. 最小覆盖子串 1. 长度最小的子数组 题目思路: 首先暴力解法就是依次枚举出所有的子数组, 从第一个元素为左端…