Python 接受Django中URL.py上的参数
我正在尝试使用两个ID访问一个功能,并通过POST发送一条消息,以创建一个小型聊天功能。问题是当我这样做的时候,我得到了403(禁止) 我如何将其保存在数据库中非常简单:有一个表,每个人对应2个键,我在一个对话字段上连接 我通过JQuery打电话:Python 接受Django中URL.py上的参数,python,django,Python,Django,我正在尝试使用两个ID访问一个功能,并通过POST发送一条消息,以创建一个小型聊天功能。问题是当我这样做的时候,我得到了403(禁止) 我如何将其保存在数据库中非常简单:有一个表,每个人对应2个键,我在一个对话字段上连接 我通过JQuery打电话: $('#send-message').bind("enterKey",function(e){ alert("CLINK"); $.post( "url/to/send/message/
$('#send-message').bind("enterKey",function(e){
alert("CLINK");
$.post( "url/to/send/message/{{personA.id}}/{{personB_id}}", function( data ) {
$( "#container" ).html( data );
});
});
$('#send-message').keyup(function(e){
if(e.keyCode == 13)
{
$(this).trigger("enterKey");
}
});
并对其进行处理:
def conversation_add(request, trainer_id, trainee_id):
new_convo = ""
if request.method == 'POST':
text = HttpRequest.getlist("messgae")
convo = Conversation.objects.filter(trainer=trainer_id, trainee=trainee_id)
new_convo = convo.conversation + text + "\n"
return render_to_response("plain.html", {'res':new_convo}, context_instance=RequestContext(request))
我不太确定这是否与我为什么得到403有关,但我决定发布它并解释一下,以防万一
关于Django的内部结构,我需要考虑什么才能打这个电话吗
谢谢 看起来您正在点击可以解释403禁止响应的按钮 您需要像在模板中一样添加
{%csrf_token%}
,然后在AJAX帖子上添加请求前回调函数beforeSend来发送令牌:
beforeSend: function (request) {
request.setRequestHeader("X-CSRFToken",
$('input[name="csrfmiddlewaretoken"]').val());
},
您也可以禁用保护,但我建议不要这样做 看起来您正在点击可以解释403禁止响应的按钮 您需要像在模板中一样添加
{%csrf_token%}
,然后在AJAX帖子上添加请求前回调函数beforeSend来发送令牌:
beforeSend: function (request) {
request.setRequestHeader("X-CSRFToken",
$('input[name="csrfmiddlewaretoken"]').val());
},
您也可以禁用保护,但我建议不要这样做 看起来您正在点击可以解释403禁止响应的按钮 您需要像在模板中一样添加
{%csrf_token%}
,然后在AJAX帖子上添加请求前回调函数beforeSend来发送令牌:
beforeSend: function (request) {
request.setRequestHeader("X-CSRFToken",
$('input[name="csrfmiddlewaretoken"]').val());
},
您也可以禁用保护,但我建议不要这样做 看起来您正在点击可以解释403禁止响应的按钮 您需要像在模板中一样添加
{%csrf_token%}
,然后在AJAX帖子上添加请求前回调函数beforeSend来发送令牌:
beforeSend: function (request) {
request.setRequestHeader("X-CSRFToken",
$('input[name="csrfmiddlewaretoken"]').val());
},
您也可以禁用保护,但我建议不要这样做 您是否在ajax帖子中添加了CSRF令牌?什么是
数据?数据中是否有csrf\u标记
?另外text=HttpRequest.getlist(“messgae”)
应该是text=request.getlist(“messgae”)
@danielcorreia显然不是,因为他似乎根本没有在帖子中发送任何数据(Ajax调用只有一个URL和一个回调)。没错,在我实际检查是否发送数据之前,我偶然发现了403。我将在可能的情况下修改帖子以正确显示示例。@karthikr text=request.getlist给了我一个错误WSGIRequest对象没有属性“getlist”您在ajax帖子中添加了CSRF令牌了吗?什么是数据
?数据中是否有csrf\u标记
?另外text=HttpRequest.getlist(“messgae”)
应该是text=request.getlist(“messgae”)
@danielcorreia显然不是,因为他似乎根本没有在帖子中发送任何数据(Ajax调用只有一个URL和一个回调)。没错,在我实际检查是否发送数据之前,我偶然发现了403。我将在可能的情况下修改帖子以正确显示示例。@karthikr text=request.getlist给了我一个错误WSGIRequest对象没有属性“getlist”您在ajax帖子中添加了CSRF令牌了吗?什么是数据
?数据中是否有csrf\u标记
?另外text=HttpRequest.getlist(“messgae”)
应该是text=request.getlist(“messgae”)
@danielcorreia显然不是,因为他似乎根本没有在帖子中发送任何数据(Ajax调用只有一个URL和一个回调)。没错,在我实际检查是否发送数据之前,我偶然发现了403。我将在可能的情况下修改帖子以正确显示示例。@karthikr text=request.getlist给了我一个错误WSGIRequest对象没有属性“getlist”您在ajax帖子中添加了CSRF令牌了吗?什么是数据
?数据中是否有csrf\u标记
?另外text=HttpRequest.getlist(“messgae”)
应该是text=request.getlist(“messgae”)
@danielcorreia显然不是,因为他似乎根本没有在帖子中发送任何数据(Ajax调用只有一个URL和一个回调)。没错,在我实际检查是否发送数据之前,我偶然发现了403。我将在可能的情况下修改帖子以正确显示示例。@karthikr text=request.getlist给了我一个错误WSGIRequest对象没有属性“getlist”