gpt4 book ai didi

javascript - 如何通过模板中使用的 onclick 函数异步更改模型变量(无需显式刷新)

转载 作者:行者123 更新时间:2023-11-28 19:40:35 25 4
gpt4 key购买 nike

我正在制作一个 Django 应用程序,用户可以在其中发布状态”。他以前的状态列表也显示在同一页面上,每个帖子都有一个删除帖子选项。我已向该按钮添加了一个 onclick 函数,该函数使用 ajax 调用来更改 models.py 中的类变量。 IE。单击删除帖子按钮后,models.py 中的类 status_class 中的删除变量的值从 0 更改为 1。然后只显示delete=1 的帖子。帮助我修改脚本中的delete_post函数,使其按照我上面提到的方式工作。如果需要任何其他更改,请注明。谢谢。

模型.py
from django.db import models
from django.contrib.auth.models import User

class status_class(models.Model):
username=models.ForeignKey(User)
text=models.CharField(max_length=2000, null=False, blank=False)
pub_date=models.DateTimeField("Published: ")
delete=models.IntegerField(default=0)

def __unicode__(self):
return self.text

模板中的脚本

<script>
function deletepost(id)
{
$.ajax({
url: "/delete_post/",
type: "POST",
data: {'value':id},
success: function(response) {
},

});
}
</script>

网址

url(r'^delete_post/$', 'status.views.deletepost_view', name='deletepost_view'),

查看

@csrf_exempt
def deletepost_view(request):
value=request.POST.get("value")
b=User.objects.filter(id=str(value))
#delete change statement
resp=json.dumps(b)
return HttpResponse(resp, content_type="application/json")

模板

{% for i in d %}
<p>{{ i.text }} &nbsp&nbsp&nbsp&nbsp {{ i.pub_date }}
<button type="button" class="btn btn-danger" onclick="deletepost(i.id);"> Delete Post </button></p>
<hr>

{% endfor %}



注意:也帮我解决这个问题。我想过滤帖子并仅显示删除变量等于 0 的帖子。即。那些还没有被删除的。过滤语句应该写在哪里?

最佳答案

对以下内容进行更改将会起作用。

查看

def deletepost_view(request):

value=request.POST.get("value")
b=status_class.objects.get(id=str(value))
b.delete = 1
b.save()

resp=json.dumps(b)

return HttpResponse(resp, content_type="application/json")

模板

{% for i in d %}
<p>{% if i.delete == 0 %}
{{ i.text }}&nbsp&nbsp&nbsp&nbsp {{ i.pub_date }}
<button type="button" class="btn btn-danger" onclick="deletepost({{ i.id }});"> Delete Post </button>
<hr></p>
{% endif %}

{% endfor %}

关于javascript - 如何通过模板中使用的 onclick 函数异步更改模型变量(无需显式刷新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25135155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com