gpt4 book ai didi

django - 如何使用 django-sitetree?

转载 作者:行者123 更新时间:2023-12-02 11:39:59 26 4
gpt4 key购买 nike

我正在尝试使用django-sitetree但我不明白如何执行第 3 步:

“转到 Django 管理站点并添加一些树和树项目。”

如何在管理面板中创建站点树?我相信第一步是为您要添加的“站点树”选择一个别名。

下一步是添加“站点树项目”。在此页面上,您必须选择父项、标题、网址。考虑到我的应用程序是动态的,具有像这样的 url 结构 localhost:8000/categoryname/entryname 我该如何选择 url?

顺便说一句,我正在尝试在我的模板中添加面包屑。

最佳答案

创建树:

  1. 转到站点管理面板;
  2. 点击“网站树”附近的“+添加”;
  3. 输入站点树的别名,例如'主树'。
    您将通过模板标签中的别名来寻址您的树;
  4. 按“添加站点树项目”;
  5. 创建第一个项目:

    Parent: As it is root item that would have no parent.
    Title: Let it be 'My site'.
    URL: This URL is static, so put here '/'.

  6. 创建第二个项目(该项目将处理“类别名称/条目名称”中的“类别名称”):

    Parent: Choose 'My site' item from step 5.
    Title: Put here 'Category #{{ category.id }}'.
    URL: Put named URL 'category-detailed category.name'.
    In 'Additional settings': check 'URL as Pattern' checkbox.

  7. 创建第三个项目(该项目将处理“categoryname/entryname”中的“entryname”):

    Parent: Choose 'Category #{{ category.id }}' item from step 6.
    Title: Put here 'Entry #{{ entry.id }}'.
    URL: Put named URL 'entry-detailed category.name entry.name'.
    In 'Additional settings': check 'URL as Pattern' checkbox.

  8. 将“{% load sitetree %}”放入您的模板中即可访问 sitetree 标记。
  9. 将“{% sitetree_menu from "maintree"%}”放入模板中以呈现菜单。
  10. 将“{% sitetree_breadcrumbs from "maintree"%}”放入模板中以呈现面包屑。
<小时/>

第 6 步和第 7 步需要一些说明:

  • 在标题中,我们使用 Django 模板变量,这些变量将像在模板中一样进行解析。

    E.g.: You made your view for 'categoryname' (let's call it 'detailed_category') to pass category object into template as 'category' variable. Suppose that category object has 'id' property. In your template you use '{{ category.id }}' to render id. And we do just the same for site tree item in step 6.

  • 在 URL 中,我们使用 Django 的命名 URL 模式 ( documentation )。这与 Django ' url 的用法几乎相同' 模板中的标签。

    Your urls configuration for steps 6, 7 supposed to include:

    url(r'^(?P<category_name>\S+)/(?P<entry_name>\S+)/$', 'detailed_entry', name='entry-detailed'),
    url(r'^(?P<category_name>\S+)/$', 'detailed_category', name='category-detailed'),

    So, putting 'entry-detailed category.name entry.name' in step 7 into URL field we tell sitetree to associate that sitetree item with URL named 'entry-detailed', passing to it category_name and entry_name parameters.

我希望这个描述能够填补文档空白%)

关于django - 如何使用 django-sitetree?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4766807/

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