金字塔教程“wiki”在登录时引发名称错误

2024-04-19 05:18:28 发布

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

非常密切地遵循金字塔wiki教程,但当我实际以编辑器身份登录时,会引发以下问题:

NameError: logged_in

 - Expression: "logged_in"
 - Filename:   /Users/erik/pyramid/tutorial/tutorial/templates/edit.pt
 - Location:   (line 25: col 23)
 - Source:     <span tal:condition="logged_in">
                                    ^^^^^^^^^

在检查代码时,我没有看到logged_in附加到请求的机制。你知道吗

奇怪的是,当我从URI中删除/edit_page时,Logout链接会正确地显示在viewing模板中。困惑,在温哥华。。。你知道吗


Tags: inpyramidwiki身份教程编辑器filenameedit
1条回答
网友
1楼 · 发布于 2024-04-19 05:18:28

logged_in不是请求的一部分,它是由edit视图传递给模板的数据。请看教程view.py中的第72-84行:

@view_config(name='edit_page', context='.models.Page',
             renderer='templates/edit.pt',
             permission='edit')
def edit_page(context, request):
    if 'form.submitted' in request.params:
        context.data = request.params['body']
        return HTTPFound(location = request.resource_url(context))

    logged_in = authenticated_userid(request)

    return dict(page = context,
                save_url = request.resource_url(context, 'edit_page'),
                logged_in = logged_in)

在这里您可以看到logged_in是通过authenticated_userid调用设置的,然后作为返回中字典的一部分传递给模板的。你知道吗

确保您的edit_page视图在view_config中正确连接,并返回logged_in作为正确的名称。你知道吗

相关问题 更多 >