我正在尝试将模型中的对象添加到CBV中,因此我创建了一个模型,因此尝试将它们传递给我的视图,但是它不起作用,因此我创建了2个类,分别是Pricing和Pricingservice,我想要一个内联对于我做过的Pricingservice中的一个字段,但是我不知道如何在视图中的CBV中添加这两个视图以便在模板中访问它们,下面是我的代码,请帮我解决问题,因为我一直在与这几天,谢谢
class Pricing(models.Model):
plans = models.CharField(max_length=250)
amount = models.CharField(max_length=250)
services = models.CharField(max_length=250)
def __str__(self):
return self.plans
class Pricingservice(models.Model):
pricing = models.ForeignKey(Pricing, default=None, on_delete=models.CASCADE)
services = models.CharField(max_length=250)
def __str__(self):
return self.pricing.plans
class PricingserviceAdmin(admin.StackedInline):
model = Pricingservice
@admin.register(Pricing)
class PricingAdmin(admin.ModelAdmin):
inlines = [PricingserviceAdmin]
class Meta:
model = Pricing
class HomePageView(TemplateView):
template_name = 'pages/home.html'
def get_context_data(self, **kwargs):
context = super(HomePageView, self).get_context_data(**kwargs)
context['Pricing'] = Pricing.objects.all()
return context
<div class="row">
{% for p in Pricing %}
<div class="col-md-3 ftco-animate">
<div class="pricing-entry pb-5 text-center">
<div>
<h3 class="mb-4">{{ p.plans }}</h3>
<p><span class="price">#{{ p.amount }}</span> <span class="per">/ Month</span></p>
</div>
<ul>
<li>{{ p.services }}</li>
</ul>
<p class="button text-center"><a href="#" class="btn btn-primary px-4 py-3">Get Offer</a></p>
</div>
</div>
{% endfor %}
</div>
[ ] 1
试试这个解决方案:
class HomePageView(ListView):
model = Pricing
template_name = 'pages/home.html'
然后尝试以下模板:
{% for pricing in object_list %}
{{pricing.plans}}<br>
{% for service in pricing.pricingservice_set.all %}
{{ service.services }}<br>
{% endfor %}
{% endfor %}
请自己添加一些样式。:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句