python - 使用jquery提交django表单时如何显示错误
问题描述
我正在尝试做一个密码更改表单,但我正在使用 jquery 提交表单,我的问题是当用户使用错误密码提交表单时,我无法收到错误消息,例如新密码和确认新密码没有匹配时,会显示两个密码不匹配,或者如果旧密码错误,则会显示密码不正确,
这是我的代码
profile.html
<form action="." enctype="multipart/form-data" method="POST" id="PassChan__form"> {% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Change Your paswsord</legend>
<input type="hidden" value="Chan_Pass" name="hidden_data" />
{{ c_form | crispy }}
</fieldset>
<div class="form-group">
<h6 id="PassChan__show"></h6>
<img src="{% static 'images/ajax-loader.gif' %}" style="Display:none;" id="PassChan__img">
<button class="btn btn-outline-info" type="submit" onclick="submit_form('PassChan__form', 'PassChan__submit', 'PassChan__img', 'PassChan__show', 'no')" id="PassChan__submit">Change Password</button>
</div>
</form>
视图.py
def profile(request):
if request.method == 'POST':
response_data = {
'SType': 'danger',
'message': "An Error Occured, pls try again later"
}
c_form = PasswordChangeForm(user=request.user, data=request.POST)
if c_form.is_valid():
c_form.save()
update_session_auth_hash(request, c_form.user)
response_data = {
'SType': 'success',
'message': "Your Password was changed successfully"
}
return HttpResponse(json.dumps(response_data), content_type="application/json")
context={
'c_form':PasswordChangeForm(user=request.user)
}
return render(request, 'users/profile.html', context)
请问我该怎么做
解决方案
尝试类似的东西(这需要一些改变,但应该把你推向正确的方向):
if c_form.is_valid():
c_form.save()
update_session_auth_hash(request, c_form.user)
response_data = {
'SType': 'success',
'message': "Your Password was changed successfully"
}
else :
response_data = {
'SType' : 'error'
'message' : c_form.errors
}
推荐阅读
- square-connect - 如何以美元以外的货币创建沙盒支付
- javascript - 无法显示来自数据库数据的图表
- azure - 即使在输入学生电子邮件 ID 后,Azure 帐户也无法打开
- flask - 出现错误:“错误 [root] 错误:不支持 ALTER 在 SQLite 方言中的约束”运行“flask db upgrade”时
- f# - F#找到偶数的第一个出现
- android - RecyclerView inside MotionLayout :错误处理滚动;未找到 id -1 的指针索引。是否跳过了任何 MotionEvents?
- android - 如何将android视图文本动态更改为大写和小写
- node.js - 使用 mongo 查询更新 json 数组的最佳方法
- mysql - Mysql:相同的查询,相同数量的结果行,没有连接,慢 10 倍?
- php - 无法比较在 php 中创建的 cookie 的时间