本篇博文记载的是我今天踩的一个坑,虽然我之前已经踩过这个坑很多次了,但都因为那时的我经常用Django,从而轻松修好此坑,但今日我Django复健的时候,又遇到它了,脑子里只记得我踩过它,修好过它,但忘了怎么修的了。于是今天我就记录一下。
先来描述一下问题吧: 后台为Django,当前端请求Django时,前端如果用的是XHR请求的后台,那么会报一个跨域的错,如果用的fetch请求的后台,且加了参数({“mode”: “cors”}),那么也会出一个跨域的报错,用浏览器抓包,会看到一个红色的条目。而此时,再看Django的情况: Django没有打印404,没有打印URL访问记录,它什么都没有打印,就仿佛前端的这个请求没有到达后台一样。
在看解决方案之前先来看一眼我Django的URL配置, 这个URL是在/user下的:
1 | path("add_user/", views.add_user, name='add_user') |
那么接下来是解决方式: 这是我前端请求的URL: “http://localhost:8000/user/add_user“,我们只要在这个URL最后加一个斜杠,如: “http://localhost:8000/user/add_user/“,这个问题就会消失。没错,解决方式就是这样。这解决方案已经超出了我的知识储备,我在网上查到的关于加不加/的内容只有”目录与文件的区别”或者”不加/会请求两次”。我想如果没有关于路径格式标准的规定的话,这种错也许是Django独有的。
本篇完。