当前位置: 首页 > news >正文

Django中媒体文件的配置

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

MEDIA_ROOT = BASE_DIR / 'media/'
MEDIA_URL = '/media/'

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

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如下:

"""
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/'

相关文章:

  • **CentOS7安装Maven**
  • 20 基于STM32的温度、电流、电压检测proteus仿真系统(OLED、DHT11、继电器、电机)
  • 常用性能优化方法
  • 使用Jlink打印单片机的调试信息
  • 数据结构编程实践20讲(Python版)—04队列
  • Django 常用注解
  • slam入门学习笔记
  • 某系统超级管理员密码重置通用型
  • ECMAScript与JavaScript的区别:深入解析
  • Virtio半虚拟化基本原理简介
  • 有关在.Net Core中以TEXT类型将Json格式字段存到数据库的学习
  • 孩子英语不好,能学编程吗?
  • 如何选择适合的编程工具提高工作效率
  • mysql学习教程,从入门到精通,SQL UNION 运算符(27)
  • 构建高可用和高防御力的云服务架构第二部分:SLB负载均衡(2/5)
  • Angular数据绑定机制
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • download使用浅析
  • dva中组件的懒加载
  • Javascript 原型链
  • JavaScript创建对象的四种方式
  • javascript数组去重/查找/插入/删除
  • LeetCode18.四数之和 JavaScript
  • leetcode98. Validate Binary Search Tree
  • Nacos系列:Nacos的Java SDK使用
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Nodejs和JavaWeb协助开发
  • React系列之 Redux 架构模式
  • React中的“虫洞”——Context
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • vue数据传递--我有特殊的实现技巧
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 我建了一个叫Hello World的项目
  • ​configparser --- 配置文件解析器​
  • ​比特币大跌的 2 个原因
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • ###项目技术发展史
  • #1014 : Trie树
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (备份) esp32 GPIO
  • (补)B+树一些思想
  • (第一天)包装对象、作用域、创建对象
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (算法)硬币问题
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)jQuery 基础
  • (转)重识new
  • ./configure,make,make install的作用(转)
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .a文件和.so文件
  • .gitignore
  • .Net IOC框架入门之一 Unity
  • .NET 的程序集加载上下文