【问题标题】:Django deny large requests without nginx/apacheDjango 拒绝没有 nginx/apache 的大请求
【发布时间】:2019-02-16 03:39:58
【问题描述】:

这里有个问题,Django中有常量(在设置中):

FILE_UPLOAD_MAX_MEMORY_SIZE = N1 * (1024**2)
DATA_UPLOAD_MAX_MEMORY_SIZE = N2 * (1024**2)

问题:它不会阻止大请求。无论如何,它都会加载到临时目录中。加载后,它不会生成 TooLargeError,直到我手动检查有效负载。

基本上可以防止加载大文件或至少使用 Django 资源而不使用任何其他工具(如 nginx/apache)产生不良响应吗?

UPD。提供了正确的答案以及如何使用的评论,但不知何故被删除了。

https://github.com/django/django/blob/1.9/tests/file_uploads/uploadhandler.py#L8

【问题讨论】:

  • 如果这是重复的,那么接下来解释一下。我有一个视图方法。我应该怎么做才能清理我的内容?在这些问题中formsmodels 有什么意义?那里的“自我”是什么(在 clean_content 中)? “请求”,它应该如何/在哪里/应该应用和写入什么对象,这将防止大请求?我不明白,至少对我来说这不是一个可接受的答案......接受的答案建议使用apache。阅读我的问题的标题。
  • 但是无论如何你都需要 nginx 或 Apache,所以你为什么不想在那里做呢?
  • 我想在没有这些的情况下这样做,对于本地主机上的测试服务器 - 我需要 apache/nginx 并且无法以其他方式解决?
  • @ohlr ,你的回答很有用,不是很好(有时在发件人处提供连接错误,但来自服务器的正确响应),但工作一个,我只是要接受它:)

标签: django


【解决方案1】:

上传处理程序的代码在Github

文档如何使用可以找到here

【讨论】:

    猜你喜欢
    • 2019-01-18
    • 2020-04-15
    • 2014-08-10
    • 2018-09-19
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多