是否有任何功能可用于修改"?"之后发生的内容?在django?

时间:2016-08-19 10:23:26

标签: python django middleware

我正在服务器端创建一个中间件,以下列方式修改API调用

http://example.com/xyz?jdvnjvjnfjAA536sddjjfjfjdjbdfjdh656dnjd5ndjvb

应该由中间件转换为:

http://example.com/xyz?user=Tango&testID=123

其中较早的网址包含user=Tango&testID=123的加密字符串。

因此简单地说,中间件解密该值并用真实字符串替换它,因为我不想为超过50个API调用视图函数进行解密。

是否有任何功能可用于修改"?"之后发生的内容?在django?

1 个答案:

答案 0 :(得分:0)

您无法从服务器端修改查询字符串。你基本上有两个选择:

  1. 发出重定向响应,告诉浏览器请求不同的URL。请参阅redirect上的Django文档。
  2. 将新网址与javascript一起嵌入您的回复中 使用HTML5历史记录API see this SO question重写位置。