Flask-Security的上下文处理器的返回值如何使用?

时间:2015-11-28 18:17:01

标签: python flask flask-security

我正在尝试按documentation

中的说明自定义我的注册表视图
@security.register_context_processor
def security_register_processor():
    return dict(hello="world")

我不知道return dict(hello="world")做了什么。我是否应该能够在register_user视图中访问此dict?添加该行代码根本无法更改模板。它应该出现在模板中吗?我该如何使用此功能?

   <h1>Register</h1>
   <form action="{{ url_for_security('register') }}" method="POST" name="register_form">
    {{ register_user_form.hidden_tag() }}
    {{ register_user_form.email.label }} {{ register_user_form.email }}<br/>
    {{ register_user_form.password.label }} {{ register_user_form.password }}<br/>
    {{ register_user_form.password_confirm.label }} {{ register_user_form.password_confirm }}<br/>
    {{ register_user_form.submit }}
  </form>
  <p>{{ content }}</p>

1 个答案:

答案 0 :(得分:3)

上下文处理器的行为与其他Flask上下文处理器相同。每个注册函数返回一个新变量的dict,以添加到模板上下文中。从那些相同的文档:

  

要向模板上下文添加更多值,您可以为所有视图或特定视图指定上下文处理器。

您的示例会将名称hello和值'world'添加到注册视图的上下文中。像任何其他模板变量一样使用它。

Hello, {{ hello }}!