隐藏字段,在django中自动分配值

时间:2017-11-06 17:30:23

标签: python django

我仍然是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天时间。但无论我做什么,我似乎都无法填充数据库中的那种字段。

1 个答案:

答案 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天的挣扎,我希望这可以帮助其他人!

相关问题