Javascript Django框架,网格行中的crud

Javascript Django框架,网格行中的crud,javascript,django,ajax,html-table,crud,Javascript,Django,Ajax,Html Table,Crud,我一直在用djanog 3.0为我妻子开发一个应用程序。得到了一个很好的模式ajax crud并为网格运行,但是她不喜欢模式效果,她只想在行内进行编辑,并且在底部总是有一个空行用于新条目 我看过表2和jqgrid,但是找不到类似的东西。我现在一直在玩editablegrid.net js grid,我可以显示和编辑数据,但不能保存编辑后的数据。Editablegrid是我妻子想要做的一个很好的例子,没有空的新行,但应该能够将其破解 显然,我无法从中生成一行,因此我需要弄清楚如何使用json之类的

我一直在用djanog 3.0为我妻子开发一个应用程序。得到了一个很好的模式ajax crud并为网格运行,但是她不喜欢模式效果,她只想在行内进行编辑,并且在底部总是有一个空行用于新条目

我看过表2和jqgrid,但是找不到类似的东西。我现在一直在玩editablegrid.net js grid,我可以显示和编辑数据,但不能保存编辑后的数据。Editablegrid是我妻子想要做的一个很好的例子,没有空的新行,但应该能够将其破解

显然,我无法从中生成一行,因此我需要弄清楚如何使用json之类的格式将数据序列化。然后我还需要CSRF令牌作为json的一部分,对吗

当我以开发嵌入式c为生的时候,我已经超出了我的深度,而这一切都是我们自学的

问题是: 对于这样的东西,最好的网格是什么?有可能吗? django适合做这样的事情吗? 我是否应该关注RESTAPI,看看其他技术,比如react

编辑1: 我尝试了@Raiyan的建议如下:

{% for person in persons %}
<form id="F{{ person.pk}}" method="post" action="{% url 'person-update' person.pk %}" class="js-ajax-update-form" update-table-name="ajax-table">
  {% csrf_token %}
  <tr>
    <td>{{ person.title }}</td>
    <td>{{ person.first_name }}</td>
    <td>{{ person.last_name }}</td>
    <td>{{ person.id_number }}</td>
  </tr>
</form>
{% endfor %}
和html至:

<table>
    <thead>
        ...
    </thead>
    <tbody>
        {% for book in object_list %}
        <form method="POST">
            {% csrf_token %}
        <tr>
            <td>{{ book.name }}</td>  
            <td>{{ book.pages }}</td>
        </tr>
        </form>
        {% endfor %}
    </tbody>
</table>

...
{对象_列表%]中的书本的百分比}
{%csrf_令牌%}
{{book.name}
{{book.pages}
{%endfor%}

你知道为什么表单标签会这么近吗

Django非常适合这样的项目

很明显,我不能和你吵架了

我想你可以,除非我误解了什么。可以使用Django模板将每一行作为单独的表单呈现。实现可能如下所示:

<form method="post"></form>
<input type="hidden" name="csrfmiddlewaretoken" value="IREdUDr8bplgvDrtmMSSjOua2NL98SXnoeIGdX1mN0nY2hpQTByW0FfJZxvO5kCw">
<tr id="R2">
    <td>Mr.</td>
    <td>John</td>
    <td>Doe</td>
        <td>123456789</td>
</tr>
</tbody>
{% for row in rows %}
<form method="post">
<tr>
  <td>...</td>
  ...
</tr>
</form>
{% endfor %}
<form method="post">{% csrf_token %}... </form>
在您的情况下,每一行的形式如下所示:

{% for row in rows %}
<form method="post">
{% csrf_token %}
<tr>
  <td>...</td>
  ...
</tr>
</form>
{% endfor %}
{%用于行中的行%}
{%csrf_令牌%}
...
...
{%endfor%}
请在此处阅读更多信息:


希望这有帮助。

Django非常适合这样的项目

很明显,我不能和你吵架了

我想你可以,除非我误解了什么。可以使用Django模板将每一行作为单独的表单呈现。实现可能如下所示:

<form method="post"></form>
<input type="hidden" name="csrfmiddlewaretoken" value="IREdUDr8bplgvDrtmMSSjOua2NL98SXnoeIGdX1mN0nY2hpQTByW0FfJZxvO5kCw">
<tr id="R2">
    <td>Mr.</td>
    <td>John</td>
    <td>Doe</td>
        <td>123456789</td>
</tr>
</tbody>
{% for row in rows %}
<form method="post">
<tr>
  <td>...</td>
  ...
</tr>
</form>
{% endfor %}
<form method="post">{% csrf_token %}... </form>
在您的情况下,每一行的形式如下所示:

{% for row in rows %}
<form method="post">
{% csrf_token %}
<tr>
  <td>...</td>
  ...
</tr>
</form>
{% endfor %}
{%用于行中的行%}
{%csrf_令牌%}
...
...
{%endfor%}
请在此处阅读更多信息:


希望这能有所帮助。

我同意@Raiyan所说的一切,但我只是想在这方面给出我的意见

她只想在行内进行编辑,并且在底部总是有一个空行用于新条目

听起来你妻子想要的东西反应灵敏、充满活力,对我来说,这意味着前端(或客户端)应该更加活跃。尽管使用Django或其他“服务器渲染”选项可以获得类似的结果,但使用RESTAPI和Javascript将为您提供更大的灵活性

React就是一个例子(正如您所提到的),但是根据您的项目,您不需要去那里。您仍然可以使用Django来创建API,使用简单的Javascript(甚至jQuery)来调用API。这将允许您动态创建新行、删除数据和操作内容,而无需重新加载页面(我相信这是所需的平滑效果)

以下是一些参考资料:

jQuery中的AJAX:


Django中的restapi:

我同意@Raiyan所说的一切,但我也想在这方面给出我的意见

她只想在行内进行编辑,并且在底部总是有一个空行用于新条目

听起来你妻子想要的东西反应灵敏、充满活力,对我来说,这意味着前端(或客户端)应该更加活跃。尽管使用Django或其他“服务器渲染”选项可以获得类似的结果,但使用RESTAPI和Javascript将为您提供更大的灵活性

React就是一个例子(正如您所提到的),但是根据您的项目,您不需要去那里。您仍然可以使用Django来创建API,使用简单的Javascript(甚至jQuery)来调用API。这将允许您动态创建新行、删除数据和操作内容,而无需重新加载页面(我相信这是所需的平滑效果)

以下是一些参考资料:

jQuery中的AJAX:


Django中的RESTAPI:

我不知道您可以做这样的事情!它可能对我想要实现的目标很有效,因为我可以在我的js中获得行,这意味着我可以获得它的父级,也就是表单,然后我可以以与我的模态代码相同的方式提交它(它呈现了一个带表单的模态)。希望我今晚能测试一下,然后再打给你。我不知道你能做这样的事情!它可能对我想要实现的目标很有效,因为我可以在我的js中获得行,这意味着我可以获得它的父级,也就是表单,然后我可以以与我的模态代码相同的方式提交它(它呈现了一个带表单的模态)。希望我今晚能测试一下,然后回复你。我可能需要这样做,但是已经完成了很多功能,但是如果我理解RESTAPI,如果我想把这个网站开发成一个应用程序,那可能是将来的事了。如果我理解正确,大多数模型设置正确,以后创建RESTAPI应该不是什么大问题,对吗?是的,没错。如果您想转到应用程序方向,RESTAPI将是最佳选择。不管怎样,有了你的模型和所有的东西都会对API有所帮助。我可能需要这样做,但已经完成了很多功能,但是如果我理解RESTAPI,如果我想把这个网站开发成一个应用程序,那可能是未来的事。如果我理解正确,大多数模型设置正确,以后创建RESTAPI应该不是什么大问题,对吗?是的,没错。如果你想