我仍然是django和Python的新手。这也是我的第一个问题。我正在尝试创建一个隐藏字段并自动为隐藏字段分配值。它可以在视图中,也可以在模板中。我有一个需要隐藏的“善良”字段。此外,我需要根据不同的视图/模板为其分配一个值,以便填充数据库。
这是我的课堂观点:
class Monthlypage(CreateView):
template_name = 'monthly.html'
model = models.Lead
form = forms.LeadForm()
fields = ['name','email','tel','kind']
这是我的模特形式:
class LeadForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
kind = models.Lead.kind
class Meta:
model = models.Lead
kind = forms.CharField(widget=forms.HiddenInput())
fields = ['name','email','tel','kind']
这是我的模特:
class Lead(models.Model):
name = models.CharField(max_length=265)
email = models.EmailField(max_length=265)
tel = models.IntegerField()
kind = models.CharField(max_length=265)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('registrations')
这是我的模板:
<form class="" method="post">
{% csrf_token %}
{% bootstrap_form form %}
<input type="hidden" name="kind" value="{{ form.kind.monthly }}" />
<input type="submit" name="" value="Submit" class="btn btn-info">
我尝试了很多选项,并使用不同的解决方案花了2天时间。但无论我做什么,我似乎都无法填充数据库中的那种字段。
答案 0 :(得分:0)
我找到了解决方案!是啊!如果有更好或更正确的解决方案,请告诉我们!
这是我的课程视图:
class Monthlypage(CreateView):
template_name = 'monthly.html'
model = models.Lead
form_class = forms.LeadForm
这是我的模特形式:
class LeadForm(forms.ModelForm):
class Meta:
model = models.Lead
fields = ['name','email','tel','kind']
widgets = {
'kind':forms.HiddenInput()
}
这是我的模特:
class Lead(models.Model):
name = models.CharField(max_length=265)
email = models.EmailField(max_length=265)
tel = models.IntegerField()
kind = models.CharField(max_length=265)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('registrations')
这是我的模板:
<form class="" method="post">
{% csrf_token %}
{% bootstrap_form form %}
<input type="hidden" name="kind" value="monthly">
<input type="submit" name="" value="Submit" class="btn btn-info">
经过2天的挣扎,我希望这可以帮助其他人!