Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:如何阅读Django URL中的问号(?)_Python_Django - Fatal编程技术网

Python Django:如何阅读Django URL中的问号(?)

Python Django:如何阅读Django URL中的问号(?),python,django,Python,Django,我正在开发一个Django应用程序,将用户输入存储在数据库中。现在的问题是,当用户在输入字段中写入?时,Django将其视为querystring的一部分,因此不会保存它。 我正在使用以下JavaScript代码: $("#submit").on("click",function(){ text = $("#input").val(); $.get('/add/'+text); } 这是我的url.py文件: urlpatterns = [ path('add/<

我正在开发一个Django应用程序,将用户输入存储在数据库中。现在的问题是,当用户在输入字段中写入
时,Django将其视为querystring的一部分,因此不会保存它。

我正在使用以下JavaScript代码:

$("#submit").on("click",function(){
    text = $("#input").val();
    $.get('/add/'+text);
}
这是我的
url.py
文件:

urlpatterns = [
     path('add/<str:text>',views.add, name='add'),
     ..............
]

这是因为您没有正确编码它。您需要使用对URL中的数据进行编码

在JavaScript中,您可以使用
encodeURIComponent
函数:

$("#submit").on("click",function(){
    text = $("#input").val();
    $.get('/add/'+encodeURIComponent(text));
}

但是,如果您创建、删除、更新等记录,那么您应该使用POST、PUT、PATCH或delete请求,因为GET请求应该没有副作用。在这种情况下,最好将数据作为请求负载传递。

使用POST请求而不是URL

$("#submit").on("click",function(){
    text = $("#input").val();
    $.get('/add/'+encodeURIComponent(text));
}
urlpatterns = [
     path('add/<path:text>',views.add, name='add'),
     # …
]