2013-02-18 80 views
-1

我是新的Django編程,我有一個簡單的問題。Django框架:ListView與CreateView

我有模型

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。當我從表單添加一個對象時,我想顯示添加的對象。

謝謝!

杜尚·里斯蒂奇

回答

0

看一看到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) 
+0

好TNX。這對我有用! – 2013-02-19 12:54:24

+0

不用擔心。 :-) – Matt 2013-02-19 13:36:52