我知道这个问题在 FOSUserBundle 文档中得到了完美的回答,但我无法解决我的问题。
我正在尝试使用 FOSUserBundle 制作自己的登录页面。
我有一个main.html.twig
与login.html.twig
FOSUserBundle 源中包含的完全相同。
唯一的区别是 main.html.twig 在我自己的包结构中,而 login.html.twig 在 FOSUserBundle 文件夹结构中。
我达到了/login
和/main
。我解决了它们并开始渲染。
但是在访问时/main
,我收到以下错误:
Twig_Error_Runtime:第 5 行的“AcmeStoreBundle:Main:main.html.twig”中不存在变量“csrf_token”
FOSUserBundle 用户知道该代码,但无论如何我将其粘贴在这里:
<form action="{{ path("fos_user_security_check") }}" method="post">
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
<label for="username">{{ 'security.login.username'|trans({}, 'FOSUserBundle') }}</label>
<input type="text" id="username" name="_username" value="" />
<label for="password">{{ 'security.login.password'|trans({}, 'FOSUserBundle') }}</label>
<input type="password" id="password" name="_password" />
<input type="checkbox" id="remember_me" name="_remember_me" value="on" />
<label for="remember_me">{{ 'security.login.remember_me'|trans({}, 'FOSUserBundle') }}</label>
<input type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}" />
FOSUserBundle 外部无法识别变量“csrf_token”。或者我没有得到的其他东西。
那边有什么线索吗?