django,html,jquery,在原表选择基础资料表的资料后,再资料带回原表
时间: 2023-08-06 10:08:23 浏览: 47
您可以使用Django的Form和ModelForm来实现这个功能。
首先,您需要在HTML页面中创建一个选择基础资料的表单,可以使用Django的ModelChoiceField来实现。接着,您需要使用jQuery来捕获表单提交事件,并使用AJAX来将选定的资料发送回服务器。
在服务器端,您可以编写一个视图函数来处理这个请求。在这个视图函数中,您可以从数据库中获取选定的资料,然后将它们添加到原始表中。可以使用Django的ORM来实现这个功能。
最后,您可以使用Django的HttpResponseRedirect来将用户重定向回原始表单页面。
以下是一个简单的示例代码:
在HTML页面中:
```
<form id="base-data-form">
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
<script>
$(document).on('submit', '#base-data-form', function(e) {
e.preventDefault();
var formData = $(this).serialize();
$.ajax({
url: '/add-base-data/',
method: 'POST',
data: formData,
success: function(response) {
window.location.href = '/original-form/';
}
});
});
</script>
```
在服务器端的视图函数中:
```
from django.shortcuts import render, redirect
from .models import OriginalTable, BaseData
def add_base_data(request):
if request.method == 'POST':
base_data_id = request.POST.get('base_data')
base_data = BaseData.objects.get(id=base_data_id)
original_table = OriginalTable.objects.get(id=request.POST.get('original_table_id'))
original_table.base_data.add(base_data)
return HttpResponse('Success')
else:
return HttpResponse('Error')
def original_form(request):
# Render the original form here
```
请注意,这只是一个示例代码,您需要根据您的实际需求进行修改。