博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
潭州课堂25班:Ph201805201 django 项目 第二十四课 文章主页 多级评论数据库设计 ,后台代码完成 (课堂笔记)...
阅读量:4651 次
发布时间:2019-06-09

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

加载新闻评论功能

1.分析

业务处理流程:

  • 判断前端传的新闻id是否为空,是否为整数、是否不存在

请求方法GET

url定义'/news/<int:news_id>'

请求参数:url路径参数

参数 类型 前端是否必须传 描述
news_id 整数 新闻id

新闻详情页直接通过模版渲染的方式来实现,在新闻详情页直接渲染此新闻的评论信息。

 

后台代码:从数据库中取出评论,跟在新闻详情页后直接渲染,

所需要的字段:评论 id, 评论内容,评论者,评论时间 ,

父级评论:同上字段

给数据库添加自关联

#     多表关联,                             作者,    自关联(父评论) #     只查字段:评论内容,作者名, 创建时间, #     父评论的作者,    父评论内容,    父评论创建时间 #     查询条件: 没有被逻辑删除,指定新闻,

后端代码实现

# 导入测试数据tb_comments_20181222.sql

# 将百度云盘2018年12月22日 解答课\datas中的tb_comments_20181222.sql文件先导入到虚拟机中
# 一定要保证tb_users中有id为1,2,3的三个用户,不然导入测试数据会报错
mysql -u用户名 -p -D 数据库名< tb_comments_20181222.sql

 

 

 在news/models.p文件的Comments模型中定义如下实例方法,用于序列化:

def to_dict_data(self):     comment_dict = {
'news_id': self.news.id, 'content_id': self.id, 'content': self.content, 'author': self.author.username, 'update_time': self.update_time.strftime('%Y年%m月%d日 %H:%M'), 'parent': self.parent.to_dict_data() if self.parent else None, } return comment_dict 在 news-data.html 文件中

 

 

转载于:https://www.cnblogs.com/gdwz922/p/10166690.html

你可能感兴趣的文章