Python 从django模板中删除none文件
我用以下模型创建了一个django模板 Models.pyPython 从django模板中删除none文件,python,django,Python,Django,我用以下模型创建了一个django模板 Models.py class MaterialRequest(models.Model): owner = models.ForeignKey(Client, on_delete=models.CASCADE, related_name='allotment_sales') product1 = models.CharField(max_length=500,default=0,blank=True,null=True) pro
class MaterialRequest(models.Model):
owner = models.ForeignKey(Client, on_delete=models.CASCADE, related_name='allotment_sales')
product1 = models.CharField(max_length=500,default=0,blank=True,null=True)
product1_quantity = models.IntegerField(default=0,blank=True,null=True)
product2 = models.CharField(max_length=500,default=0, blank=True,null=True)
product2_quantity = models.IntegerField(default=0,blank=True,null=True)
product3 = models.CharField(max_length=500,default=0, blank=True,null=True)
product3_quantity = models.IntegerField(default=0,blank=True,null=True)
product4 = models.CharField(max_length=500,default=0, blank=True,null=True)
product4_quantity = models.IntegerField(default=0,blank=True,null=True)
product5 = models.CharField(max_length=500,default=0, blank=True,null=True)
product5_quantity = models.IntegerField(default=0,blank=True,null=True)
product6 = models.CharField(max_length=500,default=0, blank=True,null=True)
product6_quantity = models.IntegerField(default=0,blank=True,null=True)
product7 = models.CharField(max_length=500,default=0, blank=True,null=True)
product7_quantity = models.IntegerField(default=0,blank=True,null=True)
product8 = models.CharField(max_length=500,default=0, blank=True,null=True)
product8_quantity = models.IntegerField(default=0,blank=True,null=True)
我试着用这个视图在模板上显示这些数据
def load_salesorder(request):
so_id = request.GET.get('sales_order')
s_o = MaterialRequest.objects.filter(pk=so_id)
print("kits=========",s_o)
return render(request, 'allotment_so.html', {'sales_order': s_o})
HTML
产品短代码
产品数量
{销售订单中i的%u%}
{{i.product1}}
{i.product1_数量}
{{i.product2}
{i.product2_数量}
{{i.product3}
{i.product3_数量}
{{i.product4}
{i.product4_数量}
{{i.product5}}
{i.product5_数量}
{{i.product6}
{{i.product6_数量}
{{i.product7}
{i.product7_数量}
{{i.product8}
{i.product8_数量}
{%endfor%}
<>但问题是它也显示了ORM的“强>无”/强>值,而我只想显示包含数据的字段,而省去空白值。我如何解决这个问题,还有更好的方法吗?您可以通过模板中的一些
if
语句来实现这一点:
{% for i in sales_order %}
{% if i.product1 and i.product1_quantity %}
<tr>
<td class="align-middle">{{ i.product1 }}</td>
<td class="align-middle">{{ i.product1_quantity }}</td>
</tr>
{% endif %}
<!-- same for other fields -->
{% endfor %}
{i在销售订单中的百分比%}
{如果i.product1和i.product1_数量%}
{{i.product1}}
{i.product1_数量}
{%endif%}
{%endfor%}
您可以通过模板中的一些if
语句来实现:
{% for i in sales_order %}
{% if i.product1 and i.product1_quantity %}
<tr>
<td class="align-middle">{{ i.product1 }}</td>
<td class="align-middle">{{ i.product1_quantity }}</td>
</tr>
{% endif %}
<!-- same for other fields -->
{% endfor %}
{i在销售订单中的百分比%}
{如果i.product1和i.product1_数量%}
{{i.product1}}
{i.product1_数量}
{%endif%}
{%endfor%}
use可以对每个字段使用if语句:
{%if i.product1%}{{i.product1}{%endif%}
{%if i.product1_quantity%}{{i.product1_quantity}{%endif%}
use可以对每个字段使用if语句:
{%if i.product1%}{{i.product1}{%endif%}
{%if i.product1_quantity%}{{i.product1_quantity}{%endif%}
我可以在{%for I in sales\u order%}
之后添加一个for循环吗?这样我就不必重复整个代码8次了?我认为通过for
循环是不可能的,但我正在寻找更好的解决方案。如果你发现了什么,请分享。。我尝试将id添加到td
,但它肯定没有感觉到neat@RahulSharma您可以尝试序列化销售订单
,然后迭代序列化对象中的字段。检查并在{%for I in sales\u order%}
之后添加for循环,这样我就不必重复整个代码8次了吗?我认为通过for
循环不可能实现这一点,但我正在寻找更好的解决方案。如果您发现了什么,请与我们分享。。我尝试将id添加到td
,但它肯定没有感觉到neat@RahulSharma您可以尝试序列化销售订单
,然后迭代序列化对象中的字段。检查您可以在模板上编写{%if%}
语句来检查该上下文是否存在您可以在模板上编写{%if%}
语句来检查该上下文是否存在