413 Django服务器上的负载太大

413 Django服务器上的负载太大,django,webserver,http-status-code-413,Django,Webserver,Http Status Code 413,每当我们尝试将大文件上传到Django后端时,我的团队都会收到413个错误:413负载太大 我们无法精确确定可接受的最大文件大小-它似乎在1-3MB范围内摇摆不定 我们排除的事项: 这不是Web服务器配置问题,因为我们正在运行 本地Django服务器(无Web服务器) 我们认为这不是应用服务器配置问题,因为这发生在多个应用服务器上(/manage.py runserver和 daphne-p8000 topnott.asgi:application) Django模型上的字段没有问题,看起来

每当我们尝试将大文件上传到Django后端时,我的团队都会收到413个错误:
413负载太大

我们无法精确确定可接受的最大文件大小-它似乎在1-3MB范围内摇摆不定

我们排除的事项:

  • 这不是Web服务器配置问题,因为我们正在运行
    本地Django服务器(无Web服务器)

  • 我们认为这不是应用服务器配置问题,因为这发生在多个应用服务器上(
    /manage.py runserver
    daphne-p8000 topnott.asgi:application

  • Django模型上的字段没有问题,看起来 正常:
    photo=models.ImageField(blank=True)


有人能发现我们遗漏了什么吗?

据我所知,runserver或daphne永远不会归还413。看起来您的python服务器前面有NGINX

您可以在nginx.conf的服务器块中使用client_max_body_size更改限制

    server {
        client_max_body_size 20M;
        listen       80;
        server_name  localhost;
        location / {
            proxy_pass         http://127.0.0.1:8000/;
        }
    }

Django有一个内置机制来防止任何可疑活动

在settings.py文件中设置变量

DATA_UPLOAD_MAX_MEMORY_SIZE = 10*1024*1024  # your size limit in bytes

请参阅文档:

如果您的团队正在使用,则在导致意外413错误时引入了一段代码(已讨论)。但是,这是固定的。

前面有nginx吗?没有-它在我的机器上本地运行。(
/manage.py runserver
)我在Django代码库中没有看到任何与“413”相关的点击。您正在使用第三方文件存储引擎吗?在任何情况下,请尝试调整设置。我正在本地计算机上运行Django服务器。这意味着Python服务器前面没有webserver(没有NGINX),你刚刚救了我一命