【问题标题】:Implementing Python in Html inside Python在 Python 中用 Html 实现 Python
【发布时间】:2014-06-30 16:58:57
【问题描述】:
df2 = pd.DataFrame(np.random.randn(5, 10)).to_html()

  myPage = """
          <html>
            <body>
              <h2> Website </h2>
              <form action="/helloworld" method="get">
              <select id = "options">
                <option value="">""</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
              </select>
              </form>
              <button type="button" onclick="showText()">Go!</button>
              <div id="show" style="display:none;"></div>
            <script>

            function showText(){
              var value = document.getElementById('options').value;
                document.getElementById('show').innerHTML = "you chose " + value;
                document.getElementById('show').style.display = "block";
              }
            </script>
            </body>
          </html>"""
return HttpResponse(myPage)

这是我现在的代码。它使用 Django 在本地服务器上运行,它所做的只是显示一个下拉菜单,当我选择一个选项时,会出现一个块,上面写着“你选择了这个选项”。我想要的是,当我选择一个下拉选项并点击按钮时,它将返回我一开始创建的数据框。我认为这可能必须使用 ajax 和 jquery 来完成,但我对此一无所知。我一直在尝试阅读它,但我不知道如何实现将我的 python 和 javascript 联系在一起的东西。

【问题讨论】:

    标签: javascript jquery python ajax django


    【解决方案1】:

    Django 在服务器端运行,因此您想使用 Django(或 Python)进行的任何计算都必须在服务器上完成。然后服务器将消息(请求和响应)来回传递给客户端(即浏览器)。如果您想向 Django 返回某种数据,则必须使用表单通过 POST(请求)提交信息,或者您需要使用 Ajax、JQuery。如果 Django 收到来自客户端的 POST 请求,它可以访问 request.POST['myinteger'] 的数据,并且可以使用该整数执行一些计算,然后返回另一个 HTTPResponse。

    请记住,Django 只能看到服务器上的事物并与之交互。一旦通过 Internet 发送,它就无法控制。这就是 Ajax/JQuery 等发挥作用的地方。它们可以在客户端操作数据(浏览器在加载页面时会下载 JQuery)。要来回发送数据,您需要依赖发送请求和响应。即使使用 RESTful API,这也是准确的。

    我希望这个解释有点帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 1970-01-01
      • 2022-01-10
      • 2016-01-01
      • 2011-07-03
      • 2017-11-08
      • 2021-11-19
      相关资源
      最近更新 更多