我想根据用户检查的输入在我的Logofsupport数据表中创建一个新行,也许我做得不对,但我想获取一些innerHTML,并将其插入到servername和rootname中,然后提取日期,这应该很容易,并基于下拉菜单选择一个将附加到操作字段的操作,然后提交数据,这基本上就是我相信django的保存功能。
def log(request):
cust = Logofsupport.objects.create(servername= "innerHTML FIELD",rootname="innerHTML
FIELD", requesteddate="innerHTML FIELD", action="Submit Form FIELD")
return render_to_response('status/log.html', {'add':cust},context_instance=RequestContext(request))
这是我的HTML,我想检查该行,并在检查为true的基础上,根据下拉框的值获取rootname、requestdate和操作,然后在单击提交按钮后创建一个新行添加到我的sql表中。我更感兴趣的是如何创建表单代码。
<body>
<div id="container">
<div id = "left" >
{%for status in root|slice:":1" %}
<h1><center>Root List by {{status.rootgroup}} Rootgroup<center></h1>
{% endfor %}
<h3 id="time">current: </h3>
<table border = "2">
<tr>
<th><input type="checkbox" id="selectall"/> Check All</th>
<th>Rootname </th>
<td>Urls</td>
<th> custs </th>
<th> jvmms </th>
<th> x64 </th>
<th> currentplatform </th>
<th> currentjdk </th>
<th> currenttomcat </th>
<td><p>Date: <input type="text" id="datepicker" size="10" /></p></td>
<td><input type="text" value="12:00" size="5" /><td>
<select name="ampm">
<option value="am">AM</option>
<option value="pm">PM</option>
</select>
</tr>
{% for status in root %}
<tr id="l{{forloop.counter}}">
<form name= "info" action="">
<td align="center"><input type="checkbox" class="selectedId" onclick="resetSelectedAll(this);" id="row{{ forloop.counter }}" ></td>
<td id="row{{forloop.counter}}rootname">{{ status.rootname }}</td>
<td id="row{{forloop.counter}}urls">{{ status.urls }}</td>
<td id="row{{forloop.counter}}custs">{{ status.custs }}</td>
<td id="row{{forloop.counter}}jvmms"> {{ status.jvmms }}</td>
<td id="row{{forloop.counter}}x64">{{ status.x64 }}</td>
<td id="row{{forloop.counter}}currentplatform"> {{ status.currentplatform }}</td>
<td id="row{{forloop.counter}}currentjdk"> {{ status.currentjdk }}</td>
<td id="row{{forloop.counter}}currenttomcat">{{ status.currenttomcat }}</td>
</tr>
{% endfor %}
</table>
<select name="buttons">
<option value="Restart">Restart</option>
<option value="Full_Dump">Full_Dump</option>
<option value="Redeploy">Redeploy</option>
<option value="Thread">Thread</option>
</select>
<input type="submit" onclick="check()" value="submit"/>
</form>
</div>
这是我尝试创建一个使用复选框的表单,希望它能让创建新行变得更容易,我有点迷失了方向。
class LogofsupportForm(forms.ModelForm):
myboolean = forms.BooleanField()
servername = forms.CharField(max_length=50) # Field name made lowercase.
rootname = forms.CharField(max_length=50) # Field name made lowercase.
requesteddate = forms.DateTimeField() # Field name made lowercase.
action = forms.CharField(max_length=50) # Field name made lowercase.
loginname = forms.CharField(max_length=50) # Field name made lowercase.
result = forms.CharField(max_length=50) # Field name made lowercase.
class Meta:
model= Logofsupport
fields = ['servername', 'rootname', 'requesteddate', 'action','loginname',
'result']
如果我正确理解您的问题:如果你想使用django.forms来验证你发布的数据,你需要给HTML表单输入字段唯一的名称。由于要发布的数据不在HTML输入字段中,我建议您使用javascript提取值并通过AJAX发布,如jQuery.post().