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

2024-04-19 02:15:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须呈现类似excel的表格容易修改。我在Django有一个mysql数据库的web应用程序。当我在寻找一个解决方案时,我发现了Handsontable,它看起来是我问题的一个很好的答案。但现在我有个问题:

我如何在提交表单后自动填充掌上电脑?我有一个表单,用户可以在其中选择几个选项并生成包含数据的表。我在表中有数据,我用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} ) 

之后,我想显示我的掌上电脑并用我的数据呈现它。是阿贾克斯做的吗?使用动态构建的掌上电脑还是什么?在

我试着用第一个例子做些什么 http://docs.handsontable.com/0.20.2/tutorial-data-sources.html

覆盖data1,但是如果我的数据是由我的表单发送的变量。。。在

^{pr2}$

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

data1 = {{ my_data }};

这种方法可以在Django模板中实现,而不是在<script> </script>块中

除了把“loaddata”按钮与Ajax请求数据放在POST['my_data']中之外,还有另一种方法?我刚从Django开始,我不知道该怎么办?:/


Tags: 数据django方法form表单dataifrequest
1条回答
网友
1楼 · 发布于 2024-04-19 02:15:59

如果我没弄错你的问题,最简单(但不是最灵活和安全的)解决方案是在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>

相关问题 更多 >