python - 如何将下拉列表的选定值更新到数据库
问题描述
我得到了下拉列表的值,即费用.id 和费用类型。在数据库中,我查找 ajax 发送的 id==expense.id 的费用对象,以更新其类型(expense_type)。所以我需要同时发送费用.id 和费用.type 来使用 ajax 进行服务器。我不知道如何在 jQuery 和 html 中执行。下面是我的代码,我收到错误“未找到:/polls/17/project_detail/ajax/update_form/”
<form action="/ajax/update_form/" method="POST" id="selection-form">
{% csrf_token %}
<select id="select_dropdown">
{% for expense in expenses %}
{% if project.id and expense.city %}
<option value="{{expense.id}}" selected="selected">{{expense.expense_type}}</option>
{% else %}
<option value="{{expense.id}}">{{expense.expense_type}}</option>
{% endif %}
{% endfor %}
</select>
<td><input type="submit" value="Save"></td>
</form>
=====js====
$('#selection-form').on('submit', function(event) {
event.preventDefault();
console.log("form_submitted");
create_post();
});
function create_post(){
console.log("update fucntion is working!");
var value = $("#select_dropdown").find(":selected").val();
var text = $("#select_dropdown option:selected").text();
$.ajax({
//url: "{% url 'update_form' %}",
url: "ajax/update_form/",
method: "POST",
data: {
"value": value,
"text": text,
//"pro_expense": pro_expense,
//"id": valueSelected,
csrfmiddlewaretoken: '{{ csrf_token }}',
},
//dataType: "json",
success: function(data){
console.log(data);
},
error: function(error_data){
console.log("error")
console.log(error_data)
}
});
return false;
};
====views.py=====
@csrf_exempt
def update_form(request):
if request.method == "POST" and request.is_ajax():
value = request.POST.get('value')
text = request.POST.get('text')
expense = Expense.objects.get(pk = value)
expense.expense_type = text
expense.save()
return HttpResponse({"result": "success"}, content_type="application/json")
===urls.py===
url(r'^(?P<project_id>[0-9]+)/project_detail/$', views.project_detail, name='project_detail'),
url(r'^ajax/update_form/$', views.update_form, name = 'update_form'),
错误是“未找到:/polls/17/project_detail/ajax/update_form/”。请帮忙。任何帮助将不胜感激!
解决方案
推荐阅读
- html - 在 Power BI 中将 HTML 列转换为纯文本
- camunda - BPM 项目范围和边界
- linux - 需要在 shell 脚本中一次对两个 Oracle DB 执行一个 sql 查询,并将数据导出到单独的 csv 文件
- python - ctypes 等效于“字符名称 [MAX_DEVICE_NAME_LENGTH]”
- c++ - MyClassName 的初始化没有匹配的构造函数
- arrays - 在数组或熊猫数据框中附加元素
- java - 如何使用 JPQL 从 Spring Data Repository 获取 HashMap 结果?
- python - Python多次返回相同时间戳的问题
- spring-boot - Spring Boot - Liquibase - 偶尔执行需要很长时间(60x)
- java - 为什么 postgres 以不同的方式保存日期?