Django中每一个视图的访问都需要配置相应的URL,然而配置URL的时候需要注意末尾是否加了/
符号,这个会影响到你的表单提交或者Ajax异步提交的问题。
我们先来看看第一个实例,比如我的URL规则
url(r'^users/api/(\w{1,20})/$','api')
那么我们Ajax提交到这个URL的时候,就需要写完整的URL
http://127.0.0.1/users/api/add/
不能写
http://127.0.0.1/users/api/add
下面来看看提交到http://127.0.0.1/users/api/add
的结果
直接报500错误。
再来看提交到http://127.0.0.1/users/api/add/
的结果
请求正常处理。
如果在URL配置的时候,尾部不带/
符号的时候,我们Ajax请求或者POST提交的action地址中末尾要不要加/
符号呢?
一起来看看,我把URL修改成以下效果
url(r'^users/api/(\w{1,20})$','api')
请求/users/api/add/
404错误!
请求/users/api/add
正常处理
说明
通过以上例子,如果你的URL末尾需要正斜杠符号匹配,则你的异步请求URL或者FORM表单的ACTION URL要与规则一致,否则会出现500或者404错误。