Python Django:如何阅读Django URL中的问号(?)
我正在开发一个Django应用程序,将用户输入存储在数据库中。现在的问题是,当用户在输入字段中写入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将其视为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'),
# …
]