Javascript Django框架,网格行中的crud
我一直在用djanog 3.0为我妻子开发一个应用程序。得到了一个很好的模式ajax crud并为网格运行,但是她不喜欢模式效果,她只想在行内进行编辑,并且在底部总是有一个空行用于新条目 我看过表2和jqgrid,但是找不到类似的东西。我现在一直在玩editablegrid.net js grid,我可以显示和编辑数据,但不能保存编辑后的数据。Editablegrid是我妻子想要做的一个很好的例子,没有空的新行,但应该能够将其破解 显然,我无法从中生成一行,因此我需要弄清楚如何使用json之类的格式将数据序列化。然后我还需要CSRF令牌作为json的一部分,对吗 当我以开发嵌入式c为生的时候,我已经超出了我的深度,而这一切都是我们自学的 问题是: 对于这样的东西,最好的网格是什么?有可能吗? django适合做这样的事情吗? 我是否应该关注RESTAPI,看看其他技术,比如react 编辑1: 我尝试了@Raiyan的建议如下: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之类的
{% 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应该不是什么大问题,对吗?是的,没错。如果你想