【发布时间】:2015-10-07 15:44:29
【问题描述】:
我已经使用 Pycharm 作为我的 IDE,使用 Django 构建了我的项目的后端。我现在决定使用 React js 在前端进行。我从一些简单的教程开始,但无法获得渲染任何东西的代码。奇怪的是,如果我在 Atom io 中完成相同的教程并打开 html 文件,代码会按预期呈现。用 Pycharm 编写的相同代码显示为空白页。在“运行服务器”之后,我尝试在 chrome 和 firefox 中打开,但没有成功。
Project/static/our_static/js/jstest.js
var HelloMessage = React.createClass({
render: function () {
return <h1>Hello {this.props.message}! </h1>;
}
});
React.render(HelloMessage, message="World" , document.body);
project/templates/master_pages/helloworld.html
{% load staticfiles %}
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>React Hello World</title>
</head>
<body>
<h1> </h1>
<script src="http://fb.me/react-0.12.2.min.js"></script>
<script src="http://fb.me/JSXTransformer-0.12.2.js"></script>
<script src= '{% static "js/jstest.js" %}' ></script>
</body>
</html>
【问题讨论】:
-
当您执行
React.render(<HelloMessage message='World' />, document.body);时会发生什么?还要将你的脚本标签移到正文之外,否则 React 会覆盖你的整个正文,因为你在做document.body。还要看看你的静态标签输出了什么。 -
@limelights - 感谢您的快速响应。我试过“
,” - 这就是代码应该是的 - 但我已经篡改了它。我已经移动了脚本标签,静态标签应该是正确的——你可以在我的 sn-ps 中看到目录。但我还是一头雾水…… -
你能用你的静态标签执行任何javascript吗?