gpt4 book ai didi

python - Django:进行 ajax 调用时出现错误 500(内部服务器错误)

转载 作者:太空狗 更新时间:2023-10-30 01:29:56 26 4
gpt4 key购买 nike

嗨,当我进行 ajax 调用时,我在控制台中得到了这个:

POST http://127.0.0.1:8000/registration/check/username/ 500 (INTERNAL SERVER ERROR) 

另外,当我点击这个链接时,我得到了这个:

DoesNotExist at /registration/check/username/
User matching query does not exist.
Request Method: POST
Request URL: http://127.0.0.1:8000/registration/check/username/
Django Version: 1.3
Exception Type: DoesNotExist

JQuery:

function check_username() {
$("#id_username").change(function() {
var user = $("#id_username").val();
var status = $("#id_username").nextAll(".status").first().empty();
var checking = '<img src="/site_media/images/loader.gif" align="absmiddle"> Checking availability...';
var success = '<img src="/site_media/images/tick.gif" align="absmiddle">';
var e_length = '<p>User name have to be longer</p>';
if (user.length >= 3) {
status.append(checking);
$.ajax({
url: "/registration/check/username/",
type: "POST",
data: { username : $("#id_username").val() },
dataType: "text",
success: function(msg) {
if (msg == '1') {
status.append(success);
}
else {
status.append("This username is already in use");
}
}
});
}
else if (user.length <= 3 && user.length != 0) {
status.append(e_length);
}
else {
status;
}
});
}

HTML:

{% block main-menu %} 
<div class="contentarea">
<form method="post" action="">{% csrf_token %}
<ul id="reg-form">
<li>
<label for="id_username">Username:</label>
<input id="id_username" type="text" name="username" maxlength="30" />
<div class="status"></div>
</li>

网址.py:

...
(r'^registration/check/([\w|\W]+)/$', register_check),
...

Views.py:

@csrf_exempt
def register_check(request, variable):
if request.is_ajax():
if variable == 'username':
user = User.objects.get(username__exact = request.POST['username']);
if user:
msg = "1"
else:
msg = '0'
return HttpResponse(msg)
else:
return HttpResponse("0")

最佳答案

urls.py 一般使用字符串。而不是使用

(r'^registration/check/([\w|\W]+)/$', register_check),

使用

(r'^registration/check/([\w|\W]+)/$', "register_check"),

第一个应该是您的 View 文件的路径。

更新

根据Django的1.4网站here ,您需要将 csrf token 添加到 header 中的请求。不过我没有阅读整段代码。

关于python - Django:进行 ajax 调用时出现错误 500(内部服务器错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12015270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com