如何使用django-sitetree?

Sus*_*shi 7 navigation django breadcrumbs

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

"转到Django Admin站点并添加一些树和树项目."

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

下一步是添加"站点树项".在此页面上,您必须选择父级,标题,网址.考虑到我的应用程序是动态的url结构,localhost:8000/categoryname/entryname如何选择网址?

顺便说一下,我正在尝试在模板中添加面包屑.

idl*_*ign 19

要创建树:

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

    父:因为它是没有父项的根项.
    标题:让它成为'我的网站'.
    URL:此URL是静态的,因此请放在此处'/'.

  6. 创建第二个项目(那个将从'categoryname/entryname'处理'categoryname'):

    家长:从步骤5中选择"我的网站"项目.
    标题:放在此处'类别#{{category.id}}'.
    URL:将命名URL设置为"category-detailed category.name".
    在"其他设置"中:选中" 网址为模式 "复选框.

  7. 创建第三个项目(那个将从'categoryname/entryname'处理'entryname'):

    家长:从第6步中选择"类别#{{category.id}}"项目.
    标题:放入"条目#{{entry.id}}".
    URL:将命名URL'entry-detailed category.name entry.name'.
    在"其他设置"中:选中" 网址为模式 "复选框.

  8. 将"{%load sitetree%}"放入yor模板以访问sitetree标记.
  9. 将'{%sitetree_menu从"maintree"%}'放入模板中以呈现菜单.
  10. 将'{%sitetree_breadcrumbs from"maintree"%}'放入模板中以呈现面包屑.

步骤6和7需要一些澄清:

  • 在标题中我们使用Django模板变量,它们就像在模板中一样被解析.

    例如:您查看了'categoryname'(我们称之为'detailed_category'),将类别对象作为'category'变量传递给模板.假设category对象具有'id'属性.在您的模板中,使用"{{category.id}}"来呈现ID.我们在步骤6中对站点树项目执行相同的操作.

  • 在URL中,我们使用Django的命名URL模式(文档).这几乎是idential到Django的用法网址 "模板标签.

    您的步骤6,7的网址配置应包括:

    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 '),

    因此,将第7步中的"entry-detailed category.name entry.name"放入URL字段,我们告诉sitetree将该sitetree项与名为"entry-detailed"的URL相关联,并将其传递给category_name和entry_name参数.

我希望这个描述应该填补文档空白%)