所以我终于能够在主页面上渲染我的产品了。 但是,当我尝试按品牌名称列出产品时(键入"标题"在仪表板中创建产品时),我因此只希望呈现具有特定标题名称的某些产品。 我的猜测就是这样做(假设我输入的标题名称是优衣库):
{% for product in products %}
{% render_product product.product_title.uniqlo %}
{% endfor %}
但遗憾的是没有渲染。我尝试了许多其他的可能性,但到目前为止没有运气。
我还试图通过查看shell来了解产品是如何保存的,但无论我输入from..import..
,Product.objects.all()
结果Product
都没有定义。
答案 0 :(得分:1)
问的不清楚。您想始终过滤uniqlo
标题吗?或者是针对某些特定的(登陆/主要)页面?
无论如何,一个简单的方法(基于你已经尝试过的) -
{% for product in products %}
{% if 'uniqlo' in product.title %}
{% render_product product %}
{% endif %}
{% endfor %}
另外,对于shell导入,请尝试
from oscar.core.loading import get_model
Product = get_model('catalogue', 'Product')
如果您只是尝试在着陆/主页中过滤标题,则可以在将视图传递给模板之前过滤视图中的产品 -
products = Product.objects.filter(title__icontains='uniqlo')