我有一个非常简单的模型(产品),该模型在页面中用作InlinePanel。
产品具有一个FileField,只要我上传小文件,它就可以正常工作,但是一旦我上传大文件(> 5MB),我就会以某种方式收到CSRF错误。无论是本地生产还是生产。
nginx最大上传大小不是问题。
w是否有文件大小限制或扩展名限制?
答案 0 :(得分:0)
是的,这被烤成了w。如果您将以下设置添加到settings.py(或任何主要设置文件)中,则可以限制上传大小。
WAGTAILIMAGES_MAX_UPLOAD_SIZE = 15 * 1024 * 1024 # 15mb
文档也简要介绍了这一点。这是链接:http://docs.wagtail.io/en/v2.1.1/advanced_topics/settings.html#maximum-upload-size-for-images
如果您需要将文件大小从15mb更改为其他大小,只需将设置行中的15
更改为您要限制的mb数即可。
答案 1 :(得分:0)
在某些情况下,您可能已经为大文件配置了一个临时目录 下载。
在我的情况下是:
FILE_UPLOAD_TEMP_DIR = str(ROOT_DIR('tmp'))
如果未创建此目录,则无法上传大文件,但小文件可以正常工作。只需在本地和生产环境中创建目录即可。
这个错误非常难以调试,因为wagtail管理界面会简单地说上传失败,甚至会产生CSRF错误。