首页 > 解决方案 > 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

标签: djangoajax

解决方案


感谢您的帮助和评论。

这是其他人的答案。

选项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 备忘单


推荐阅读