【发布时间】:2019-07-05 07:46:02
【问题描述】:
我非常广泛地使用 Django Rest Framework。
我现在的版本是v3.7.7
我正在研究如何处理超过 2000 个字符限制的查询参数,我发现了这个关于使用 base64 编码的建议。
https://softwareengineering.stackexchange.com/a/353105/16777
如果可能的话,我想知道如何使用 Django Rest Framework 的本机代码来处理查询参数的 base64 编码。
更新:
SWE stackexchange 中的 base64 编码建议是一种缩短查询参数的方法。它仍可能超过 URL 中 2000 个字符的限制。
如果缩短的查询参数使用 base64 编码,如何在 Django Rest Framework 的工作方式中解码查询参数字符串?
第二次更新:
感谢@Daniel Roseman 在 cmets 中指出这一点,我才意识到我对软件工程堆栈交换的答案感到困惑。看起来 base64 编码会增加有效负载大小。
在这种情况下,我的问题将是更多关于如何在 Django Rest Framework 中解码 base64 查询参数,这是否需要?
【问题讨论】:
-
该答案并没有说 base64 编码将允许查询参数超过 2000 个字符。相反,该编码将始终增加长度。如果您需要更长的参数,请使用带有主体的方法(例如 POST 或 PUT)。
-
啊...我已经改写了我的问题。是的,我同意 base64 编码的字符串可能仍然太长。是的,如果仍然太长,我将不得不在 POST 中使用 body。我想知道我是否按照建议使用 base64 对查询参数进行编码,如何在 DRF 范式中完成解码?
标签: django django-rest-framework base64