Django:如何在temp中填充表单数据

2024-05-15 08:55:46 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我尝试在基于单一的视图中使用“两种形式”。在

我的观点是:

class ListAndCreate(CreateView):
    model = xmpp_buddy_groups
    form_class = xmpp_buddy_groups_form
    second_form_class = sip_extension_form
    template_name = "xmpp/index.html"
    success_url = reverse_lazy('xmpp:index')

    def get_context_data(self, **kwargs):
        context = super(ListAndCreate, self).get_context_data(**kwargs)
        context['object_list'] = self.model.objects.all()
        extension = SipExtension.objects.values_list('sip_extension', flat=True)
        obj = SipExtension.objects.filter(sip_extension=1331).first()
        for buddy_groups in group_names:
            for sip in buddy_groups.sipextension_set.all():
                sip_extension = sip.sip_extension
                print(sip_extension)
        context['extension'] = extension
        SipExtension.objects.exclude(sip_extension__in=extension)
        print(extension)
        context['form'] = self.form_class
        context['form2'] = self.second_form_class(instance=obj)
        context['extensions'] = SipExtension.objects.exclude(sip_extension__in=extension)
        return context

我的表单类:

^{pr2}$

我的模型:

from django.db import models
from django.urls import reverse
class xmpp_buddy_groups(models.Model):
    group_name = models.CharField(max_length=30,unique=True)

    def __str__(self):
        return '%s' % (self.group_name)


from django.db import models

class SipExtension(models.Model):
    real_name = models.CharField(max_length=32)
    sip_extension = models.PositiveIntegerField(unique=True)
    sip_secret = models.CharField(max_length=32)
    commlink_push = models.BooleanField(default=False)
    default_did = models.ForeignKey('dids.DidNumber',null=True,blank=True)
    xmpp = models.BooleanField(default=False)
    xmpp_username = models.CharField(max_length=50,default='username')
    xmpp_password = models.CharField(max_length=32,default='password')
    xmpp_buddy_groups_names = models.ManyToManyField('xmpp.xmpp_buddy_groups')


    def __str__(self):
        return '%s : %s'  % (self.sip_extension, self.real_name)

我正在以{{form2.as_p}}的形式访问模板中的表单。下拉列表显示为空。我希望它填充1331。我怎么能做到呢?在

编辑:添加的模型使问题更清楚。请原谅我对Django缺乏经验


Tags: nameselfformtrueobjectsmodelscontextextension