Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用django从HTML页面单击将数据发布到数据库(即非表单数据)?_Python_Django - Fatal编程技术网

Python 如何使用django从HTML页面单击将数据发布到数据库(即非表单数据)?

Python 如何使用django从HTML页面单击将数据发布到数据库(即非表单数据)?,python,django,Python,Django,我有4页的卡片,我也有一个分页,我希望用户每次点击卡片,卡片内容应该使用django存储在数据库中。对于使用django在数据库中存储表单数据,我们可以使用csrf_令牌和post方法,但您是否可以建议如何在用户每次单击时将卡片数据存储在数据库中?? 请参考给出的链接,并建议如何在用户单击时将卡片内容存储在数据库中您应该使用Javascript和AJAX,使用django rest框架 html模板上的Javascript将调用使用django REST创建的APIView 示例如下: 这里有一

我有4页的卡片,我也有一个分页,我希望用户每次点击卡片,卡片内容应该使用django存储在数据库中。对于使用django在数据库中存储表单数据,我们可以使用csrf_令牌和post方法,但您是否可以建议如何在用户每次单击时将卡片数据存储在数据库中??
请参考给出的链接,并建议如何在用户单击时将卡片内容存储在数据库中

您应该使用Javascript和AJAX,使用django rest框架

html模板上的Javascript将调用使用django REST创建的APIView

示例如下:


这里有一个工作示例,假设在
template.html

<a onclick="delOnClick(this)" id="{{ task.id }}"> Delete </a>
现在,它所做的是调用delete视图,该视图假定接收一个post请求,该请求的id是要在其主体中删除的元素的id。 如果您的delete视图是get视图,则更简单,只需在url中添加
id
,然后调用
get
request,而不是
post
request。 确保在页面中添加
ajax

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


也许使用客户端Javascript脚本可以解决您的问题。每次单击卡时都会请求http post请求。最后,您需要在django.Yes中实现端点。我想@Akirashimoseda已经回答了。您可能希望使用Django REST框架来构建API。@ak,@冯浩,你们能不能像你们所说的那样,为这个问题提供一些示例URL……你们能展示一下用来存储信息的模型吗?谢谢你们的建议@Epikstar,你们能不能提供一些示例资源来帮助解决这个问题。我刚刚在我的评论中分享了一个示例现在你们可以向你们的
var数据添加任何你们想要的数据了
从上下文变量或任何地方读取变量。这是一个
post
request delete操作的示例。在我上面给出的链接中,我对next和back使用了分页,就像我在单击next 4次后有4个页面一样,数据应该使用post request存储在数据库中。你能解释一下它是如何工作的吗???@saadi。你是说它像向导一样工作吗?您希望保留每个步骤中的数据,然后在最后一个步骤之后,通过调用某个视图将其转储到数据库中?你能用一个例子来说明如何做到这一点吗?我现在没有一个可共享的例子,但它是用一个例子来完成的。可能就是你要找的。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>