Django本地站点正常,Admin操作Trick模型时触发/media目录不存在错误
问题解决:FilePathField报FileNotFoundError找不到/media目录
核心原因
你在Trick模型里给FilePathField写死了绝对路径/media,这个路径指向的是系统根目录下的media文件夹,但你的MEDIA_ROOT配置的是项目BASE_DIR下的media目录,两个路径完全不匹配,所以Admin后台操作时会找不到目标目录。
修复步骤
修正模型字段的路径配置
不要硬编码绝对路径,直接引用Django配置好的MEDIA_ROOT:# /login_unecessary_tricks_list/models.py from django.conf import settings from django.db import models class Trick(models.Model): video = models.FilePathField(path=settings.MEDIA_ROOT) # 其他字段定义...确认项目内media文件夹存在
检查项目根目录下是否有media文件夹,如果没有,手动创建一个,同时确保当前用户对这个文件夹有读写权限。验证MEDIA_ROOT的实际路径(可选)
可以通过Django Shell确认配置的路径是否正确:python manage.py shell进入shell后执行:
from django.conf import settings print(settings.MEDIA_ROOT)输出应该是类似
/你的项目绝对路径/project/media,而不是系统根目录的/media。
内容的提问来源于stack exchange,提问作者Frank Piras
相关产品推荐
相关产品推荐

