• 潭州课堂25班:Ph201805201 django 项目 第二十四课 文章主页 多级评论数据库设计 ,后台代码完成 (课堂笔记)


    加载新闻评论功能

    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 文件中

    
    
  • 相关阅读:
    CS224N Assignment 1扩展阅读——词嵌入
    算法面经总结
    Leetcode刷题笔记(一)
    使用python-Statsmodels进行基于统计学的时间序列分析
    chinaunix book
    行政区划分
    视频网站
    sqlserver还原bak备份文件
    linux给终端设置代理
    ruby中exec,system,%x的区别
  • 原文地址:https://www.cnblogs.com/gdwz922/p/10166690.html
Copyright © 2020-2023  润新知