static 静态文件
media 媒体文件
一.首先在setting配置文件中导包和配置路由
import os # 导入os包否则无效
![](https://ywhao.bitworkshop.cn/wp-content/uploads/2022/03/93MPC5T1GL4IIRHNNEM6R.png)
STATIC_URL = '/static/'
STATIC_DIR = os.path.join(BASE_DIR, 'static')
STATIC_ROOT = "var/www/learning.ywhdsb.site.static/" # 这个好像不影响地址访问
# 这三个必不可少 否则无法media访问
MEDIA_URL = '/media/'
MEDIA_DIR = os.path.join(BASE_DIR, 'media')
MEDIA_ROOT = MEDIA_DIR
STATICFILES_DIRS = [
STATIC_DIR,
MEDIA_DIR,
BASE_DIR / "static",
'var/www/static/',
]
二.然后再在template中添加
'django.template.context_processors.media', #media 这个好像不影响地址访问
![](https://ywhao.bitworkshop.cn/wp-content/uploads/2022/03/D2WN01FYP1N0E0VZWF4.png)
三.最好在app的urls中添加路由
1.导包
from django.conf import settings
from django.conf.urls.static import static
2.配置
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) \
+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
![](https://ywhao.bitworkshop.cn/wp-content/uploads/2022/03/5TL515O1VD2SDNTVOX2X.png)
然后就可以访问啦
![](https://ywhao.bitworkshop.cn/wp-content/uploads/2022/03/image.png)
最后的最后,我想说,遇到问题,一时间解决不了,不要气馁。
补充: 2022.3.6
1️⃣media里面图片和视频都可以放,访问方式不变。
2️⃣一个魔鬼细节就是,debug不能关,关掉debug就Not Found无法访问了。
3️⃣数据库默认是sqlite,可是里面没有集成sqlite,数据库不弄好就会报Internal Server Error。要么改成mysql的数据库,要么把sqlite的删了就可以了。
Comments NOTHING