django - Django如何将旧格式的url转换为新的格式路径
问题描述
我正在使用 ajax 创建对 django 的 GET 请求,并且我想将旧格式的 url 转换为新的格式路径。
这条线有效
url(r'^setComplete/$', views.setComplete, name='setcomplete'),
虽然这条线以 404 失败(http://127.0.0.1:8000/project/setComplete?item_id=1)未找到
path('setComplete/<int:item_id>',views.setComplete, name='setcomplete'),
这是Ajax代码
$.ajax(
{
type:"GET",
url: "/project/setComplete",
data:{
item_id: itemid
},
success : function(data) {
console.info("Success",data);
},
error : function(e) {
console.info("Error",e);
},
done : function(e) {
console.info("DONE",e);
}
})
这是一个仅用于测试的简单视图
def setComplete(request):
return HttpResponse("Success!") # Sending an success response
解决方案
感谢您的帮助和评论。
这是其他人的答案。
选项1
使用相同的路径
url(r'^setComplete/$', views.setComplete, name='setcomplete'),
变成
path('setComplete/<int:item_id>',views.setComplete, name='setcomplete'),
和
$.ajax(
{
type:"GET",
url: "/project/setComplete/" + itemid,
选项 2或保持相同的结构,如下所示:
url(r'^setComplete/$', views.setComplete, name='setcomplete'),
变成
path('setComplete/',views.setComplete, name='setcomplete'),
和
$.ajax(
{
type:"GET",
url: "/project/setComplete/",
data:{
item_id: itemid,
},
这里还有一个关于这个主题的有用资源。 Django 2.0 备忘单
推荐阅读
- javascript - Selenium Python:无法通过id获取元素,其中id = principal
- ruby-on-rails - Rails 6:为什么在多数据库应用程序中的模型测试期间将数字附加到数据库名称?
- java - 如何使用opencv填充图像中标记区域的外部区域?
- python-3.x - PyQt5 设计器 gui 和迭代/循环 QPushButton
- react-router-dom - How to set redirect?
- java - How to regex number, and to keep comma, whitespace and dot in the output string?
- javascript - 如何暂时禁止再次按下按钮
- java - 循环 NodeList Java
- excel - 在不同的 sub 中调用另一个 sub
- php - PHP - URL - 删除从第一个“=”到哈希的所有内容,但不删除哈希