django3+apache24部署后无法上传文件

django3写的网站在测试环境下运行没有任何问题,上传下载文件都很顺利,利用apache24部署后,网站也可以正常运行,下载文件也很顺利,但使用上传文件功能就会报错server error 500,检查apache错误日志没有记录。网上查是因为httpd.conf配置错误的问题,网上找不到明确解决方案,因为没有错误日志也不知道从何改起,希望大佬帮助

文件上存是放在media吗?你的apache是否设置了media文件夹,可以参考下面教程
https://blog.csdn.net/d_hyacinth/article/details/71173434

打开django日志记录功能,在django报错后查看django日志报错记录,记录中会有报错文件,行数,报错原因,最后根据报错内容修改,调整django功能
django 开启日志功能如下,
在setting.py中加入下面demo代码
下面的日志记录是我自己使用的,你可以根据你的情况做修改

log_path = os.getcwd()
log_path += r'\log'
if not os.path.exists(log_path):
    os.makedirs(log_path)# 如果没有目录,创建
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        # 日志格式
        'standard': {
            'format': '[%(asctime)s] [%(filename)s:%(lineno)d] [%(module)s:%(funcName)s] '
                      '[%(levelname)s]- %(message)s'},
        'simple': {  # 简单格式
            'format': '%(levelname)s %(message)s'
        },
    },
    # 过滤
    'filters': {
    },
    # 定义具体处理日志的方式
    'handlers': {
        # 默认记录所有日志
        'default': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': os.path.join(log_path, 'all-{}.log'.format(time.strftime('%Y-%m-%d'))),
            'maxBytes': 1024 * 1024 * 5,  # 文件大小
            'backupCount': 5,  # 备份数
            'formatter': 'standard',  # 输出格式
            'encoding': 'utf-8',  # 设置默认编码,否则打印出来汉字乱码
        },
        # 输出错误日志
        'error': {
            'level': 'ERROR',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': os.path.join(log_path, 'error-{}.log'.format(time.strftime('%Y-%m-%d'))),
            'maxBytes': 1024 * 1024 * 5,  # 文件大小
            'backupCount': 5,  # 备份数
            'formatter': 'standard',  # 输出格式
            'encoding': 'utf-8',  # 设置默认编码
        },
        # 控制台输出
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            # 'class': 'logging.handlers.RotatingFileHandler',
            'formatter': 'standard'
        },
        # 输出info日志
        'info': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': os.path.join(log_path, 'info-{}.log'.format(time.strftime('%Y-%m-%d'))),
            'maxBytes': 1024 * 1024 * 5,
            'backupCount': 5,
            'formatter': 'standard',
            'encoding': 'utf-8',  # 设置默认编码
        },
    },
    # 配置用哪几种 handlers 来处理日志
    'loggers': {
        # 类型 为 django 处理所有类型的日志, 默认调用
        'django': {
            'handlers': ['default', 'console', 'error'],#输出默认日志,控制台输出内容,错误日志
            'level': 'INFO',
            'propagate': False
        },
        # log 调用时需要当作参数传入
        'log': {
            'handlers': ['error', 'info'],
            'level': 'INFO',
            'propagate': True
        },
    }
}

1、检查上传文件,存放目录是否有写入权限
2、检查是否文件过大
3、检查磁盘空间是否足够

说一下后续,结合很多资料和提的建议,最后找到了问题根源,是上传文件时存储文件路径错误,这里错误有三个原因,一是没有在httpd.conf中配置media文件路径,二是没有设置media文件,三是没有正确启动apache服务,最后解决方案分了三步:1、用httpd -k install -n apache2.4命令正确安装apache服务,成功启动apache monitor;2、更改view模板,在django根目录中加入media文件夹,将所有view中上传文件最终路径全部锁定该media文件,因为不会移动项目,使用了绝对路径,确保不出错(同时,做了一个修改,有一个功能采用上传-读取-存储数据至数据库路径进行,发现有问题还是不会被apache接收文件,就更改为了上传-存储-读取文件-存储数据至数据库路径进行,即先保存再读取,保存之后的临时文件如何处理都无所谓,这样处理完成之后就可以成功上传读取excel文件了);3、在httpd.conf中增加media文件路径:
Alias /media "/.../media"
<Directory "/.../media">
AllowOverride All
Options None
Require all granted

注意这套解决仅针对django3+apache2.4+windows10服务器组合环境