从 Django POST 请求获取 table 并在 handsontable 中显示(读取 javascript 中的值)

Getting table from Django POST request and displaying it in handsontable (read value in javascript)

我必须渲染 excel-like table 以便于修改。我在 Django 中有一个带有 mysql 数据库的 Web 应用程序。当我在寻找解决方案时,我发现 Handsontable 看起来是对我的问题的一个很好的答案。但现在我有一个问题:

如何在提交表格后自动填写 handsontable?我有一个表单,用户可以在其中选择几个选项并生成带有数据的 tables。我在 table 中的 table 中有数据,我正在使用 POST 请求发送它。

if request.method == 'POST':
    form = TestForm(request.POST)

    if form.is_valid():
        ### ACCESSING DATA FROM DATABASE
        ### CREATING 2D TABLE

        return render_to_response('rendered.html', {'form' : form, 'my_data' : my_data} ) 

之后我想展示我的手掌table并用我的数据渲染它。 Ajax 对我有影响吗?使用动态构建的 handsontable 还是什么?

我想用这里的第一个例子做点什么 http://docs.handsontable.com/0.20.2/tutorial-data-sources.html

并覆盖 data1 但如果 my_data 是我的表单发送的变量...

data1 = request.POST["my_data"];

我无法像这样从 POST 访问数据(JS 它是客户端而不是服务器端,是吗?)

data1 = {{ my_data }};

这种方式可以在 Django 模板中使用,而不是在 <script> </script> 块中使用

除了在 POST['my_data'] 中放置带有 Ajax 数据请求的 "Load data" 按钮外,还有另一种方法吗?我刚开始使用 Django,我不知道该怎么做? :/

如果我答对了你的问题,最简单(但不是最灵活和最安全)的解决方案是只在 Django 模板中呈现 js 变量:

假设您的上下文变量 my_data 包含 Handsontable 所需的数据,将其放入 your_template.html:

<script type="text/javascript">
    var myData = "{{ my_data }}";
    // now your data is on the JS side.
</script>