django - wagtail - 显示类别的页面;如何?
问题描述
我想使用 wagtail 实现类别页面,但对于新手程序员来说很难理解。当只是按照 wagtail 的教程(入门)时,类别字段是在他们的官方教程中实现的,但我不知道如何获得访问权限
例如,在 Django 中,如果我定义了 Categories 和 Posts 之类的两个模型,我可以使用外键访问属于特定类别的文章,并使用 Category.posts_set.all() 之类的东西创建视图
但我怎么能在鹡鸰中做到这一点?提前感谢您的帮助
解决方案
如果您想列出来自例如类别索引页面的所有类别,那么您需要获取所有类别并将它们添加到上下文中。假设您的模型结构与https://docs.wagtail.io/en/latest/getting_started/tutorial.html#categories的教程中的相同,那么您可以这样做
class CategoryIndexPage(Page):
# ... other fields go here
def get_context(self, request, *args, **kwargs):
context = super().get_context(request, *args, **kwargs)
context["categories"] = BlogCategory.objects.all()
return context
然后在您的模板中:
{% if categories %}
<h3>Categories</h3>
<ul>
{% for category in categories %}
<li style="display: inline">
{% image category.icon fill-32x32 style="vertical-align: middle" %}
{{ category.name }}
</li>
{% endfor %}
</ul>
{% endif %}
推荐阅读
- ios - AVSpeechSynthesizer 音量太低
- google-apps-script - 使用 Google 电子表格中的 ContactsApp
- python - 如果超过最大值,则获取启动和停止之间的数字并重新启动计数器
- vue.js - vue.js:597 [Vue 警告]:$listeners 是只读路由器链接
- python - POST 请求运行没有错误,但没有做它应该做的事
- c - 获取 bash 命令的输出并将其作为命令行参数传递给 ac 可执行文件(管道)
- asp.net-core - Swashbuckle 用 VS XML 注释中的双引号将数字示例包装起来
- x-frame-options - URL 重写标头中缺少的 X-Frame-Options
- c++ - 从文件写入到类成员函数并在 C++ 中的控制台上打印?
- c - 为什么这两个函数的结果不同?