【Django】网页跳转的问题
2024-10-19 09:33:56
这两天有个比较奇怪了问题困扰着我,就是网页跳转之后页面没有变化,虽然url已经变了,但是页面还是原来的,只是表单数据清空了
就是http://127.0.0.1:8000/signup_signin/sigin这个链接的表单提交后跳到了http://127.0.0.1:8000/signup_signin/sigin_result2.html可是,页面还是那个表单,只是我的输入清空了。开始还以为和我模板命名有关系。
今天发现原来是和urls.py里的正则有关
原来的url匹配是这样:
re_path(r'sigin',views.Signin,name='signin'),
re_path(r'sigin_result2',views.After_Signin,name='After_Signin'),
明明是已经匹配到了第二个,浏览器网址已经变了,但是页面显示的却是sigin.html的模板。后来,我把第一个url匹配改为:
re_path(r'sigin$',views.Signin,name='signin')加了一个结束符号,就能正常调到sigin_result2了。我估计就是,我的sigin.html模板中的表单 <form method="post" action="/signup_signin/sigin_result2.html" >请求这个地址的时候,浏览器的url就改为了http://127.0.0.1:8000/signup_signin/sigin_result2.htmlurl
可是我的re_path当中有这个正则r'sigin'排在前面,而且后面没有结束符号,这样导致re_path匹配到了第一个view方法里,即又回到了第一页。
另外我也尝试了一下,不加$但是交换两个匹配链接,结果也是不能跳到第二页,因此我感觉,这个应该是最小匹配原则,就是匹配到符合条件的最短那个正则。
最新文章
- C++读取文件夹中所有的文件或者是特定后缀的文件
- PC-JS小技巧
- 10个原生JavaScript技巧
- 【插队问题-线段树-思维巧妙】【poj2828】Buy Tickets
- 在windows server2003下安装Redmine
- ZooKeeper 权限管理
- CentOS7下Mysql 5.6.30安装与配置
- Thread,ThreadPool,Task
- B-Tree 和 B+Tree
- npm安裝、卸載、刪除、撤銷發佈包、更新版本信息
- 【转】Python数据类型之“文本序列(Text Sequence)”
- git初学 常用命令
- sublime text plugins
- Spring <;context:annotation-config>; 与<;context-component-scan>; 的作用
- ELK学习笔记之F5-HTTP-requesting-logging logstash filter
- JavaScript 表单验证 案例
- Session的作用和使用场景
- Java设计模式の单利模式
- EPANET头文件解读系列1——TEXT.H
- MySQL9:索引实战 (转)