博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
博客系统-点赞取消
阅读量:4925 次
发布时间:2019-06-11

本文共 4117 字,大约阅读时间需要 13 分钟。

url配置

# 路由分发配置url url(r'^up_count/',views.up_count),url(r'^down_count/',views.down_count),

视图函数处理

点赞

def up_count(request):    '''点赞函数,禁止同一用户点赞多次'''    user_id = request.user.nid                   #当前用户的ID    article_id = request.POST.get("article_id")  # 获取到当前的文章ID    print("===================点赞")    pollResponse = {
"state": True} #初始变量 if models.ArticleUpDown.objects.filter(user_id=user_id,article_id=article_id): #判断是否为同一用户点赞 print("======去你大爷的,想点几次") pollResponse["state"]=False else: with transaction.atomic(): models.ArticleUpDown.objects.create(user_id=user_id,article_id=article_id) #创建一个新的用户 models.Article.objects.filter(nid=article_id).update(up_count=F("up_count")+1) #给文章的点赞数+1 return HttpResponse(json.dumps(pollResponse))

取消点赞

def down_count(request):    '''点赞函数,禁止同一用户点赞多次'''    user_id = request.user.nid  # 当前用户的ID    article_id = request.POST.get("article_id")  # 获取到当前的文章ID    downResponse = {
"state": True} if models.Article.objects.filter(nid=article_id,user_id=user_id).first(): #判断是否为同一用户点赞 downResponse["state"]=False else: with transaction.atomic(): print("=========可以到这里") models.ArticleUpDown.objects.create(nid=user_id,article_id=article_id) #创建一个新的用户 models.Article.objects.filter(nid=article_id).update(down_count=F("down_count")+1) #给文章的点赞数+1 print("===============>",downResponse) return HttpResponse(json.dumps(downResponse))

前端点赞块

{# 点赞块#}
{
{ article_obj.down_count }}
{
{ article_obj.up_count }}

js发送请求代码:

$(".diggit").click(function () {            if ($(".infos").attr("user_username")){                $.ajax({                url: "/blog/up_count/",                type: "POST",                data: {                    csrfmiddlewaretoken: $("[name='csrfmiddlewaretoken']").val(),                    article_id:{
{ article_obj.nid }} }, success: function (data) { data = JSON.parse(data); if (data["state"]) { var val = parseInt($("#digg_count").html()) + 1; $("#digg_count").html(val) } else { $(".diggnum_error").html("请不要重复点赞").css("color", "red"); setTimeout(foo, 3000) } } }) }else{ location.href="/login/" } }); $(".buryit").click(function () { if ($(".infos").attr("user_username")){ $.ajax({ url: "/blog/down_count/", type: "POST", data: { csrfmiddlewaretoken: $("[name='csrfmiddlewaretoken']").val(), article_id:{
{ article_obj.nid }} }, success: function (data) { data = JSON.parse(data); {# console.log(data);#} if (data["state"]) { var val = parseInt($("#bury_count").html()) + 1; $("#bury_count").html(val) } else { $(".diggnum_error").html("去你大爷的,").css("color", "red") setTimeout(foo, 3000) } } }) }else{ location.href="/login/" } });

 

转载于:https://www.cnblogs.com/52-qq/p/8669464.html

你可能感兴趣的文章
Flex的学习资源
查看>>
千万别信“创业要胆大”这种鬼话!有些人只是后盾够强
查看>>
PL/SQL 09 包 package
查看>>
Java 8 特性 —— 方法引用
查看>>
CSS3环形动画菜单
查看>>
动态设置 layui select 为选中状态
查看>>
Apache不定时宕机
查看>>
[译] 所有你需要知道的关于完全理解 Node.js 事件循环及其度量
查看>>
Unity3D初学心得
查看>>
学破解 <二> PE格式之IMAGE_NT_HEADERS
查看>>
laravel homestead
查看>>
https和http共存的nginx简单配置
查看>>
利用WGET下载文件,并保存到指定目录
查看>>
AO代码:VB6代码迁移到NET的几大理由(摘自ESRI文档片段)
查看>>
HDOJ 1518 Square
查看>>
Finance 网站收集
查看>>
如何使用Git 下载GitHub的东西
查看>>
C#实现联合体
查看>>
[BZOJ 1085] [SCOI2005] 骑士精神 [ IDA* 搜索 ]
查看>>
nignx 502错误不能使用/的路径方式 即pathinfo
查看>>