BBS项目分布搭建四(点赞点踩及评论功能)

最后

针对以上面试题,小编已经把面试题+答案整理好了

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

面试专题

image

除了以上面试题+答案,小编同时还整理了微服务相关的实战文档也可以分享给大家学习

image

image

image

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

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

修改 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))

if is_up:

操作文章表

models.Article.objects.filter(pk=article_id).update(up_num=F(‘up_num’) + 1)

back_dic[‘msg’] = ‘点赞成功’

else:

点踩

models.Article.objects.filter(pk=article_id).update(down_num=F(‘down_num’) + 1)

back_dic[‘msg’] = ‘反对成功’

操作点赞点踩表

models.UpAndDown.objects.create(is_up=is_up, article_id=article_id, user_id=user_id)

return JsonResponse(back_dic)

修改article_detail.html:

$(‘.active’).click(function () {

var is_up = $(this).hasClass(‘diggit’); // true false

var article_id = ‘{{ article_id }}’;

// 发送ajax请求

$.ajax({

url: ‘/up_or_down/’,

type: ‘post’,

data: {‘is_up’: is_up, article_id: article_id},

success: function (res) {

console.log(res);

if (res.status == 200) {

layer.msg(res.msg)

} else if (res.status == 1010) {

$(‘.error_msg’).append(res.msg)

} else {

layer.msg(res.msg)

}

最后

面试题文档来啦,内容很多,485页!

由于笔记的内容太多,没办法全部展示出来,下面只截取部分内容展示。

1111道Java工程师必问面试题

MyBatis 27题 + ZooKeeper 25题 + Dubbo 30题:

Elasticsearch 24 题 +Memcached + Redis 40题:

Spring 26 题+ 微服务 27题+ Linux 45题:

Java面试题合集:

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

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

27题 + ZooKeeper 25题 + Dubbo 30题:**

[外链图片转存中…(img-jrgZpo74-1715814078152)]

Elasticsearch 24 题 +Memcached + Redis 40题:

[外链图片转存中…(img-2v9wAQa0-1715814078153)]

Spring 26 题+ 微服务 27题+ Linux 45题:

[外链图片转存中…(img-7KHK2eR3-1715814078153)]

Java面试题合集:

[外链图片转存中…(img-wYNUsInl-1715814078153)]

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

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

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建BBS论坛是一个比较复杂的过程,需要涉及到多个方面的知识,包括前端开发、后端开发、服务器配置等。下面是一个基于Python的BBS论坛搭建指南,希望能够帮到你。 1. 确定论坛需求 在开始搭建之前,需要确定论坛的需求,包括用户登录、发帖、回帖、私信、管理后台等功能。根据需求确定所需要的技术栈和平台。 2. 选择开发框架 选择一个合适的开发框架可以减少不必要的麻烦,提高开发效率。常用的开发框架有Django、Flask等,这里以Django为例。 3. 安装Python和Django 在开始开发之前,需要安装Python和Django。推荐使用Python3.x版本,可以在Python官网下载安装包。安装完Python之后,可以通过pip命令安装Django: ``` pip install django ``` 4. 创建Django项目 使用Django的命令行工具可以快速创建一个新的项目: ``` django-admin startproject myproject ``` 其中myproject是你的项目名称。创建完毕后,可以进入myproject目录,执行以下命令启动开发服务器: ``` python manage.py runserver ``` 此时可以在浏览器中访问http://127.0.0.1:8000/,看到Django的欢迎页面。 5. 创建应用 Django的应用是项目的组成部分,可以包含多个模块。使用以下命令可以创建一个新的应用: ``` python manage.py startapp myapp ``` 其中myapp是你的应用名称。创建完毕后,需要将应用添加到项目中,在myproject/settings.py文件中添加以下代码: ```python INSTALLED_APPS = [ # ... 'myapp', ] ``` 6. 设计数据库模型 在开始开发之前,需要设计数据库模型,包括用户、帖子、回帖等数据。可以使用Django的ORM(对象关系映射)框架来定义模型,ORM可以将Python对象映射到数据库中的。 在myapp/models.py文件中定义模型,例如: ```python from django.db import models class User(models.Model): username = models.CharField(max_length=100) password = models.CharField(max_length=100) class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() author = models.ForeignKey(User, on_delete=models.CASCADE) class Comment(models.Model): content = models.TextField() author = models.ForeignKey(User, on_delete=models.CASCADE) post = models.ForeignKey(Post, on_delete=models.CASCADE) ``` 定义完模型后,需要在myproject/settings.py文件中配置数据库连接,例如使用SQLite数据库: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } ``` 7. 创建视图和路由 在Django中,视图是处理HTTP请求并返回HTTP响应的函数。可以在myapp/views.py文件中编写视图函数,例如: ```python from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse('Hello, World!') ``` 视图函数返回的是HTTP响应,可以包含HTML、CSS、JavaScript等内容。需要将视图函数和URL绑定起来,可以在myapp/urls.py文件中定义路由,例如: ```python from django.urls import path from . import views urlpatterns = [ path('', views.index), ] ``` 这样,访问http://127.0.0.1:8000/就可以看到Hello, World!了。 8. 开发前端页面 BBS论坛需要有良好的用户界面,可以使用HTML、CSS、JavaScript等技术编写前端页面。可以在myapp/templates目录中创建HTML模板文件,例如: ```html <!DOCTYPE html> <html> <head> <title>{{ title }}</title> </head> <body> <h1>{{ title }}</h1> {% for post in posts %} <h2>{{ post.title }}</h2> <p>{{ post.content }}</p> {% endfor %} </body> </html> ``` 可以在视图函数中使用render函数渲染模板,例如: ```python from django.shortcuts import render from .models import Post def index(request): posts = Post.objects.all() context = { 'title': 'My BBS', 'posts': posts, } return render(request, 'index.html', context) ``` 9. 实现用户认证 在BBS论坛中,需要实现用户认证功能,即用户注册、登录、注销等功能。Django提供了内置的用户认证系统,可以通过以下命令添加用户认证功能: ``` python manage.py migrate python manage.py createsuperuser ``` 这样就可以在myproject/admin页面登录管理员账户,管理用户和帖子等数据。 10. 部署服务器 在开发完成后,需要将BBS论坛部署到服务器上。可以使用云服务器,例如阿里云、腾讯云等,也可以使用自己的服务器。需要安装Web服务器软件(例如Nginx、Apache等)和数据库软件(例如MySQL、PostgreSQL等),并将Django项目部署到Web服务器上。 以上是基于Python的BBS论坛搭建指南,希望能够帮到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值