我正在尝试使用django-sitetree,但我不明白如何执行第3步:
“转到Django管理站点并添加一些树和树项。”
如何在管理面板中制作网络剧?我相信第一步是为您要添加的“站点树”选择一个别名。
下一步是添加“站点树项”。在此页面上,您必须选择父级,标题,网址。考虑到我的应用是动态的网址结构,如localhost:8000/categoryname/entryname
我如何选择网址?
顺便说一句,我正在尝试在模板中添加面包屑。
答案 0 :(得分:19)
创建树:
创建第一项:
父级:因为它是没有父级的根项目 标题:让它成为'我的网站' 网址:此网址是静态的,因此请放在此处'/'。
创建第二个项目(可以从'categoryname / entryname'处理'categoryname'):
父级:从步骤5中选择“我的网站”项。
标题:放在此处'类别#{{category.id}}' 网址:将命名网址'category-detailed category.name' 在“其他设置”中:选中“网址格式”复选框。
创建第三个项目(那个将从'categoryname / entryname'处理'entryname'):
父级:从步骤6中选择“类别#{{category.id}}”项。
标题:点击此处'输入#{{entry.id}}' 网址:将命名网址'entry-detailed category.name entry.name' 在“其他设置”中:选中“网址格式”复选框。
步骤6和7需要一些澄清:
在标题中我们使用Django模板变量,它们就像在模板中一样被解析。
例如:您查看了'categoryname'(我们称之为'detailed_category')将类别对象传递给模板 作为'category'变量。假设category对象具有'id'属性。 在您的模板中,使用“{{category.id}}”来呈现ID。我们这样做 第6步中的站点树项目相同。
在URL中,我们使用Django的命名URL模式(documentation)。在模板中使用Django“url”标记几乎是完全一样的。
您的步骤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参数。
我希望这个描述应该填补文档差距%)