我有以下代码,但它不会将滚动div放在任何位置。我尝试过的所有其他组合(例如将div放在桌子周围)会导致滚动条的某些或其他错误放置。 这是html:
<form action="" method="post">
<table>
<div style="overflow: auto; width : 200px; height : 50px;">
{{ form }}
</div>
<tr><td colspan="2"><input type="submit" value="Save"/></td></tr>
</table>
</form>
我的表单如下:
class GroupForm(forms.ModelForm):
class Meta:
model = Group
def __init__(self, *args, **kwargs):
super(GroupForm, self).__init__(*args, **kwargs)
self.fields['permissions'].widget = forms.CheckboxSelectMultiple()
self.fields['permissions'].choices = ((p.id, p.name) for p in Permission.objects.order_by("name"))
我的views.py看起来像这样:
def group_edit(request, group_id, template_name="group_edit.html", extra_context=None, form_class=None):
edit_group = get_object_or_404(Group, pk=group_id)
extra_context = extra_context or {}
form_class = form_class or GroupForm
extra_context["edit_group"] = edit_group
if request.method == "POST":
form = form_class(instance=edit_group, data=request.POST)
if form.is_valid():
form.save()
return redirect(reverse("global_group_list"))
else:
form = form_class(instance=edit_group)
extra_context["form"] = form
return direct_to_template(
request,
template_name,
extra_context=extra_context
)
答案 0 :(得分:2)
将DIV放在像这样的表格行中
<form action="" method="post">
<table>
<tr><td><div style="overflow: auto; width : 200px; height : 50px;">
{{ form.as_p }}
</div></td></tr>
<tr><td colspan="2"><input type="submit" value="Save"/></td></tr>
</table>
</form>
答案 1 :(得分:0)
这不是一个真正的django问题,所以你发布的python代码确实没什么区别。我认为问题是你希望表格有滚动条,但保持提交按钮分开吗?
您有两个直接选择。您可以将{{form}}包装在第二个表中,因此您有两个嵌套表。或者你可以移动div并将提交按钮移到桌子外面,这样桌子就会被div包裹。
无论哪种方式,你现在拥有的东西都行不通。除了tbody或tr之外,任何表标记的直接子标记都将被忽略。