我的数据库中有一个名为 nodes 的表 以及我有亲子关系的地方,我正在使用
http://django-mptt.github.io/django-mptt/tutorial.html
对于节点
现在我可以同时显示所有节点,这没问题。
但我想要的是我有一个类似文件夹的结构,如果有人点击parent folder,那么我会转到下一个只有它的子文件夹的 View
并且 url 会变成
www.example.com/downloads/parentfolder
然后,如果用户点击子文件夹 1,则会显示其更多子文件夹,并且 url 变为
www.example.com/downloads/parentfolder/childfolder
我怎么能做那种事情
我想做这样的事情
Django MPTT - how to query based on URL segments
但是他没有解释他是怎么做到的
请您参考如下方法:
您可以像在具有来自 urls.py 的普通 django 模型的应用程序中那样使用路由来做到这一点。
#urls.py
urlpatterns = patterns('',
url(r'^downloads/(?P<parent_id>\d+)/$', ParentView.as_view(), name='parents_list'),
url(r'^downloads/(?P<parent_id>\d+)/(?P<child_id>\d+)/$', ChildView.as_view(),
name='childs_list'),
)
写出相应的 View ,应该就可以了。请记住,我在上面的 url 示例中使用了基于类的 View 。只需编写您熟悉的任何类型的 View 即可。
第一个 View 将显示 url 中给定父 ID 的父或父列表。第二个 View 将在给定 parent 和 child ID 的情况下显示 parent 内部的 child 。
编辑
看起来你的要求有点复杂,我在这里找到了更好的解决方案Django-MPTT full path to child pages how to make?
我希望它能解决你的问题:)
