【问题标题】:Django framework: ListView with CreateViewDjango 框架:ListView 和 CreateView
【发布时间】:2023-03-04 23:10:01
【问题描述】:

我是 django 编程新手,我有一个简单的问题。

我有模特

class Dhcp(models.Model):

    class Meta:
        ordering = ('gateway',)
        verbose_name = _(u'DHCP Configuration')
        verbose_name_plural = _(u'DHCP Configurations')

    gateway = models.IPAddressField(_(u'Gateway'), null=True)
    dns_primary = models.IPAddressField(_(u'DNS Primary'), null=True)
    dns_second = models.IPAddressField(_(u'DNS Second'), blank=True)
    leases_time = models.IntegerField()
    nat = models.IPAddressField(_(u'NAT'), blank=True)
    max_time = models.IntegerField()

    def __unicode__(self):
        return self.gateway

我的问题是:

我想列出我在数据库中的所有 dhcp 对象,并添加更多对象。但我想在同一个模板上这样做。

例如:如果我在数据库中有 3 个对象,则显示并显示添加更多 obj 的表单。当我从表单中再添加一个对象时,我想显示添加的对象。

谢谢!

杜桑·里斯蒂克

【问题讨论】:

    标签: django django-models django-forms django-templates


    【解决方案1】:

    查看Class Based Views,更具体地说是ListViewCreateView。这个问题经常出现,所以你应该在这里的某个地方找到答案。 Check this post out.

    你正在寻找的是这样的:

    class DHCPView(forms.CreateView):
        model = Dhcp
        template_name = "list_and_create_dhcp.html"
    
        def get_context_data(self, **kwargs):
            kwargs["object_list"] = Dhcp.objects.all()
            return super(DHCPView, self).get_context_data(**kwargs)
    

    【讨论】:

    • 好的tnx。对我有用!!
    猜你喜欢
    • 2012-03-09
    • 2013-10-20
    • 2016-11-30
    • 2015-08-17
    • 2018-07-09
    • 2015-08-07
    • 2021-11-26
    • 2015-01-04
    • 1970-01-01
    相关资源
    最近更新 更多