0
我结束了使用get_initial,因为它是在这里提到How to subclass django's generic CreateView with initial data?CBV如何从模型设置初始表单数据?
所以,我的看法改变了,看起来像这样:
class VlanFormView(FormView):
template_name = 'vlan_form.html'
model = Vlan
form_class = VlanForm
def get_initial(self):
initial = {}
default_vlan = Vlan.objects.get(pk=1)
initial['vlan_name'] = default_vlan.vlan_name
initial['vlan_number'] = default_vlan.vlan_number
return initial
def get_success_url(self):
self.group = get_object_or_404(Group, group=self.kwargs['groupname'])
# Redirect to vlan list
return '/ipmgmt/%s/vlans/' % self.group
我期待能有一个预先填好的表格基于输入数据的模板。
所以我的模板是基于关闭在VLAN表,该表1第一个条目...
我试图在form_class设置实例:
form_class = VlanForm(instance=Vlan.objects.get(pk=1))
我得到一个类型错误:
'VlanForm' object is not callable
东西告诉我我没有使用CBV权限,我如何设置我的初始数据? 感谢
我的模型:
class Vlan(models.Model):
vlan_name = models.CharField(max_length=30)
vlan_number = models.CharField(max_length=6)
group = models.ForeignKey(Group)
我的表格:
class VlanForm(forms.ModelForm):
class Meta:
model = Vlan
笔者认为:
class VlanFormView(FormView):
template_name = 'vlan_form.html'
model = Vlan
form_class = VlanForm(instance=Vlan.objects.get(pk=1))
def get_success_url(self):
self.group = get_object_or_404(Group, group=self.kwargs['groupname'])
# Redirect to vlan list
return '/ipmgmt/%s/vlans/' % self.group