2024年Java最全BBS项目分布搭建四(点赞点踩及评论功能),为什么StringBuilder是线程不安全的

最后

经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。







由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

{% block css %}

{% endblock %}

修改 article_detail.html内容:

{% extends ‘base.html’ %}

{% block css %}

{% endblock %}

{% block content %}

{{ article_detail.title }}

{{ article_detail.content|safe }}

{# 点赞点踩样式开始#}

{{ article_detail.up_num }}

{{ article_detail.down_num }}

{# 点赞点踩样式结束#}

{% endblock %}

2. 前端逻辑书写


在base.html文件中 body标签内 添加:

{% block js %}

{% endblock %}

在 article_detail.html 添加js模块:

{% block js %}

{% endblock %}

在views.py中添加功能:

9. 点赞点踩

def up_or_down(request):

print(123)

添加路由:

点赞点踩表

url(r’^up_or_down/', views.up_or_down),

3. 后端逻辑实现


在views.py中添加 点赞点踩功能:

import json

from django.db.models import F

9. 点赞点踩

def up_or_down(request):

‘’’

  1. 验证登录

  2. 验证是不是自己发布的文章,自己的文章不能点击

  3. 验证是否已经被点击过,如果点击过了,就不要在点了

  4. 正常入库

4.1 点赞点踩表要操作

4.2 文章表也要操作

:param request:

:return:

‘’’

if request.method == ‘POST’:

user_id = request.session.get(‘id’)

back_dic = {‘status’: 200, ‘msg’: ‘支持成功’, ‘data’: {}}

1. 接收参数

is_up = request.POST.get(‘is_up’) # true <class ‘str’>

article_id = request.POST.get(‘article_id’)

print(is_up, type(is_up))

2. 验证参数是否登录

if not request.session.get(‘username’):

back_dic[‘status’] = 1010

back_dic[‘msg’] = ‘请先登录

return JsonResponse(back_dic)

验证是不是自己的文章

article_obj = models.Article.objects.filter(pk=article_id).first()

通过文章查用户,

if article_obj.blog.userinfo.username == request.session.get(‘username’):

当前点击的文章是自己的

back_dic[‘status’] = 1011

back_dic[‘msg’] = ‘不能点击自己的文章哦,宝贝~’

return JsonResponse(back_dic)

验证是否点击过,参考点赞点踩表

is_click = models.UpAndDown.objects.filter(article_id=article_id, user_id=user_id).first()

if is_click:

已经点过

back_dic[‘status’] = 1012

back_dic[‘msg’] = ‘你已经点过喽,宝贝~’

return JsonResponse(back_dic)

对传递过来的参数is_up做反序列话,需要转为布尔值

is_up = json.loads(is_up)

print(is_up, type(is_up))

笔者福利

以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”,不管是技术还是HR的问题都有针对性的回答。

有了这个,面试踩雷?不存在的!

回馈粉丝,诚意满满!!!




本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

典”,不管是技术还是HR的问题都有针对性的回答。

有了这个,面试踩雷?不存在的!

回馈粉丝,诚意满满!!!

[外链图片转存中…(img-5GYYEgG3-1714849641634)]
[外链图片转存中…(img-HnTYI0uh-1714849641634)]
[外链图片转存中…(img-WFEkywpO-1714849641634)]
[外链图片转存中…(img-fhlUdGZ6-1714849641635)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 15
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值