我正在開發一個項目,其中我正在使用Webapp2的反應js。我正在嘗試在反應組件中使用jinja2。它編譯成功,但是當我真正加載網頁。它在控制檯中給出錯誤。這裏是處理程序代碼,我只是簡單地渲染頁面並傳遞一些值。與Jinja2和Webapp2一起使用ReactJS
class Login(BaseHandler, Handler):
def get(self):
jinja_environment = self.jinja_environment
template = jinja_environment.get_template("/index.html")
self.response.out.write(template.render({'a': "aa", 'b': "bb"}))
我試過以下兩種在React中使用jinja2的方法。
方法1:
var Main = (props) => {
return (
<div>
{{a}} // directly use the jinja2 variable.
<Nav/>
<div className="row">
<div className="columns medium-6 large-4 small-centered">
{props.children}
</div>
</div>
</div>
);
};
此方法使在控制檯上出現以下錯誤:
方法2: 我用這個方法通常是在Javascript和它在那裏工作很好。它不顯示值,但頁面呈現成功。
var Main = (props) => {
var a = '{{a}}';
return (
<div>
{a}
<Nav/>
<div className="row">
<div className="columns medium-6 large-4 small-centered">
{props.children}
</div>
</div>
</div>
);
};
這是頁面視圖。
請幫我在哪裏做的錯誤。
是您的反應裏面的index.html代碼? Jinja2將只處理該文件。 – aitchnyu
@aitchnyu沒有它的單獨'.jsx'組件文件,我正在用webpack編譯成'bundle.js'。這個'bundle.js'包含在我的html文件中。有什麼方法可以在React組件中使用Jinja2? –