49.Python-web框架-Django解决多语言redirect时把post改为get的问题

目录

1.背景

2.思路

[3.寻找 Find and Replace](#3.寻找 Find and Replace)

4.再次运行程序,POST来了

5.小结


1.背景

昨天在练习一个Django功能时,把form的method设置为POST,但是实际提交时,一直是GET方法。最后发现这是与多语言相关,django前面的多语言设置,会自动加上语言的路径,从而有了重定向这个操作,把POST变成了GET。

2.思路

对于昨天的问题,今晨继续搜索,找到一篇相关的博文,

记录一次nginx重定向以后POST请求变为GET请求的解决【转发】_302重定向成get请求-CSDN博客

这里面提到:

有缓存的301和308,浏览器在接收一次重定向以后,会缓存重定向的地址,以后请求会直接访问重定向的地址;
同时301-302-303的重定向会将请求方法改为使用GET请求
而308-307不会,所以我将nginx的重定向更改为307

3.寻找 Find and Replace

使用Find and Replace这个小工具,可以搜索文件内容,非常好用。

打开response.py文件,搜索302

修改并保存:

4.再次运行程序,POST来了

5.小结

  • 修改源码这种事,尽量少做。必要的时候,还是得做。
  • 博文记录,随时记录,如果没有其他人的博文,也很难找到思路。
相关推荐
江畔柳前堤3 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
0566463 小时前
agent学习Day15——SQLAlchemy 查询过滤、分页与历史列表接口
python·学习·fastapi
程序员爱德华4 小时前
Python与C++:异同点对比
c++·python
hangyuekejiGEO4 小时前
GEO技术服务选型指南
大数据·人工智能·python
软萌萌的15 小时前
Java Spring Boot 修改yml配置&加载顺序规则
java·spring boot·python
陈随易5 小时前
moon,apt和yum之外linux系统命令安装新选择
前端·后端·程序员
码事漫谈6 小时前
当单库日增 4.5TB,异构实时同步还能稳得住吗?
后端
Dxy12393102166 小时前
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)
linux·运维·python
持敬chijing7 小时前
Python概述
开发语言·python