gpt4 book ai didi

python - 当产品添加到类别时,如何动态激活主导航中的类别?

转载 作者:行者123 更新时间:2023-12-01 06:39:13 25 4
gpt4 key购买 nike

我正在开发一个用户上传产品的网站。当用户上传产品时,他们目前可以从大约 50 个类别中进行选择。

我希望在我的主导航中列出所有类别,但是在网站的早期阶段,它们不会在该类别中列出所有产品。不应该链接的内容,文本将显示为灰色。

令人困惑的部分是如何通过 View 操作主导航。我的所有 View 都是针对特定页面的,因此我不确定如何在每个页面的 View 函数之前运行一个 View 函数,有点像 Node + Express 路由中的自定义中间件。

或者也许这不是 Djangoic,并且有更好的方法来实现这一点?

感谢您的任何提示。

最佳答案

假设您的模型中存在从 ProductCategory 的外键关系。话虽这么说,只有当该类别中包含产品时,您才能呈现链接:

模板:

{% for category in categories %}
{% if category.product_set.count > 0 %}
<a href="{% url 'category_detail' category.pk %}">{{ category.title }}</a>
{% else %}
{{ category.title }}
{% endif %}
{% endfor %}

如果您想阻止用户手动访问没有产品的类别页面(例如用户手动输入example.com/category/xxx),您可以在渲染模板之前添加简单的 if 条件:

views.py

def category_detail_view(request, category_pk):
category = get_object_or_404(Category, pk=category_pk)
if category..product_set.count == 0:
# redirect to a custom page
...

关于python - 当产品添加到类别时,如何动态激活主导航中的类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59534384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com