Python Django自动生成的表单字段
我想做的是根据前面的值自动添加表单中的一些字段。让我向您展示我的示例: 我的型号 forms.py 我的观点。py html.filePython Django自动生成的表单字段,python,django,django-forms,Python,Django,Django Forms,我想做的是根据前面的值自动添加表单中的一些字段。让我向您展示我的示例: 我的型号 forms.py 我的观点。py html.file 添加测量值 {%csrf_令牌%} {{form | crispy}} 拯救 不过,我希望根据我之前输入的内容自动生成字段组、子组和编号。 例如,我输入的第一个度量值: 分组:HouseSubgroup:LightNumber:1Voltage:10Comment:No Comment 单击“保存”后,我希望字段组、子组和编号已经包含以下信息: 分组:Hou
添加测量值
{%csrf_令牌%}
{{form | crispy}}
拯救
不过,我希望根据我之前输入的内容自动生成字段组
、子组
和编号
。
例如,我输入的第一个度量值:
分组:House
Subgroup:Light
Number:1
Voltage:10
Comment:No Comment
单击“保存”后,我希望字段组
、子组
和编号
已经包含以下信息:
分组:House
Subgroup:Light
Number:2
Voltage:12
Comment:No Comment
下一个:
分组:House
Subgroup:Light
Number:3
Voltage:15
Comment:No Comment
以便只添加我的测量值并节省时间。但是,这并不意味着我不能更改
组
、子组
或数字
字段。使用jquery进行ajax调用(而不是刷新页面和丢失值)并动态设置所需字段,在您的情况下为“数字”。例如,`$.ajax({type:“POST”url:“form_action_url”,data:“form_data”,success:function(data){$(''number_field_id').value+=1;}}})`使用jquery进行ajax调用(不刷新页面和丢失值),并动态设置所需的字段,在你的情况下-‘数字’。例如,`$.ajax({type:'POST“url:“form_action_url”,data:“form_data”,success:function(data){$(''number_field_id')。value+=1;})`
class Measurement(models.Model):
group = models.CharField(max_length=250)
subgroup = models.CharField(max_length=250)
number=models.PositiveIntegerField(default=1)
voltage= models.PositiveIntegerField()
comment = models.TextField(default='no comment')
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.group
class MeasurementForm(forms.ModelForm):
class Meta:
model = Measurement
fields = ['group','subgroup','number','voltage','comment']
def measurement(request):
if request.method == "POST":
form = MeasurementForm(request.POST, request.FILES)
if form.is_valid():
measurement = form.save(commit=False)
measurement.save()
return redirect('data:measurement')
else:
form = MeasurementForm()
context = {'form': form,}
template = 'data/measurement.html'
return render(request, template, context)
<div class="panel panel-primary">
<div class="panel-heading">
<h4>Add a measurement</h4>
</div>
<div class="panel-body">
<form method='POST' enctype="multipart/form-data">
{% csrf_token %}
{{ form|crispy }}
<button type = 'submit' class="btn btn-success">Save</button>
</form>
</div>
</div>