如何使用djangpostman设置Djangositeree

2024-10-04 01:36:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图设置django-sitetree与{a2}一起工作,但我运气不太好。在

大多数页面都能正常工作,但我似乎不知道如何映射postman_view url以使其正常工作。以下是我目前所掌握的情况。也许有人能帮我一点忙?在

在sitetrees.py

from sitetree.utils import tree, item

sitetrees = (
    tree('postman', items=[
        item('Messages', '/messages/', url_as_pattern=False, access_guest=False, access_loggedin=True, children=[
            item('Compose', 'postman_write', access_guest=False, access_loggedin=True),
            item('Inbox', 'postman_inbox', access_guest=False, access_loggedin=True),
            item('View', 'postman_view message.id', access_guest=False, access_loggedin=True, in_menu=False, in_sitetree=False)
        ])
    ])
)

邮递员网址.py节选

^{pr2}$

postman_write和{}都工作正常,但是当我访问postman_view时,我得到了这个错误:

SiteTreeError at /messages/view/2/

Unable to resolve current sitetree item to get a `title_resolved` for current page. Check whether there is an appropriate sitetree item defined for current URL.

Tags: pyviewfalsetruetreeurlaccesscurrent
1条回答
网友
1楼 · 发布于 2024-10-04 01:36:05

感谢idle sign为我指明了正确的方向。在

原来邮递员/视图.html模板没有像我假设的那样有一个名为message的变量。有一个名为pm_messages的消息数组。所以更正了sitetrees.py是:

sitetrees = (
    tree('postman', items=[
        item('Messages', '/messages/', url_as_pattern=False, access_guest=False, access_loggedin=True, children=[
            item('Compose', 'postman_write', access_guest=False, access_loggedin=True),
            item('Inbox', 'postman_inbox', access_guest=False, access_loggedin=True),
            item('View', 'postman_view pm_messages.0.id', access_guest=False, access_loggedin=True, in_menu=False, in_sitetree=False)
        ])
    ])
)

相关问题 更多 >