我正在测试表单中的cleaned_data['content'].size > MAX_SIZE
以验证上传大小。
当谷歌搜索如何检查Django上传的长度时,我遇到了几个地方(下面的链接),人们正在使用某种格式(看似基于2的功能)以字节表示MB。
我想一定有充分的理由。
为什么要使用这样的格式?你如何计算下面的数值? (摘自链接的SO问题)
# 2.5MB - 2621440
# 5MB - 5242880
# 10MB - 10485760
# 20MB - 20971520
# 50MB - 5242880
# 100MB 104857600
# 250MB - 214958080
# 500MB - 429916160
Django File upload size limit
https://djangosnippets.org/snippets/1303/
https://django-filebrowser.readthedocs.org/en/3.5.2/settings.html
答案 0 :(得分:1)
只是因为一个千字节是1024字节...带有字节'圆形数'是2的幂而不是10
严格来说1024字节是“kibibyte”,根据SI单位,“千字节”是1000字节,就像千克一样是1000克
但Windows等操作系统倾向于使用以前的定义
例如,如果您想将上传大小限制为2MB,则应使用2 * 2**20
(或2 x 1024**2
)
或n MB
的一般表单为n * 1024**2