python全栈开发day80--评论楼、评论树
内容总结:
1. 内容回顾
1. 内容回顾
1.评论
1. 展示评论
1. 评论楼(Django模板语言渲染)
1. 从后端查询出所有的评论
2. 如果有父评论就展示父评论 2. 评论树
通过ajax在页面刷新的时候去拉取所有的评论 2. 发表评论
1. 发表评论(ajax提交)
1. 通过AJAX发送到后端
1. 判断是否是子评论
1. 给回复按钮绑定点击事件
1. 要给未来的标签绑定事件一定要用事件委托
事件委托利用的原理是事件冒泡
2. jQuery事件委托的写法:
$("已经存在的标签").on("click", ".repaly", function(){})
2. jQuery对象.data()
1. jQuery对象.data("k1", "v1") --> 给jQuery对象保存了一个k1:v1
2. jQuery对象.data("k1") --> 取k1对应的值,取不到返回undefined
3. jQuery对象.removeData("k1") --> 删除k1对应的值
4. jQuery对象.removeData() --> 删除所有键值对
3. JS的三元运算
条件?值1:值2
4. 值1 || 值2 --> 如果值1为真就用值1,否则用值2
5. +"" --> 把字符串快速转换成数值类型的小技巧
6. 字符串的相关用法
1. s.slice(start,) --> 按索引对字符串切片
2. s.indexOf('\n') --> 求指定字符在字符串中的索引
7. 任何标签都可以加自定义属性
jQuery求标签的属性:$("div").attr("k") 2. 后端注意事项:
1. 创建一条新评论
1. 判断是否是子评论,如果是子评论创建评论记录时要传父评论id值 2. 更新对应文章表中的comment_count
.update(comment_count=F("comment_count")+1) 2. 通过DOM操作把评论显示在页面上
1. ES6的模板字符串:https://www.cnblogs.com/liwenzhou/p/9249932.html
`${变量名}`
2. jQuery的文档操作 jQuery中文文档:http://jquery.cuishifeng.cn/
1. 内部添加
1. 前面:prepend
2. 后面:append
2. 外部添加
1. 前面:before
2. 后面:after 2. 文章后台
1. 发布文章
1. kindeditor插件
2. BS4:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
1. 安装:
pip install beautifulsoup4
2. 简单使用
1. from bs4 import BeautifulSoup
# 对一段HTML格式的内容做解析
soup = BeautifulSoup('html内容', 'html.parser')
2. 找标签:
soup.a
3. 找标签的样式:
soup.a["class"]
4. 找特定的标签
soup.select("script")
5. 删除标签
.decompose()
6. 取text文本内容
soup.text
7. 格式化html内容
soup.prettify() 2. 删除文章
3. 修改文章
知识点总结
python全栈开发day80--评论楼、评论树的更多相关文章
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- Python全栈开发【基础四】
Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...
- Python全栈开发【基础三】
Python全栈开发[基础三] 本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...
- Python全栈开发【基础二】
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...
- Python全栈开发【基础一】
Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
- Python全栈开发
Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“ ...
随机推荐
- Linux多台主机间配置SSH免密登陆
1.安装ssh. sudo apt-get install ssh. 安装完成后会在~目录(当前用户主目录,即这里的/home/xuhui)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件 ...
- VUE 脚手架项目搭建
1. 概述 1.1 说明 vue-cli是一个官方发布vue.js项目脚手架,使用vue-cli可以快速创建vue项目.GitHub地址是:https://github.com/vuejs/vue-c ...
- Linux下Oracle 12c的卸载
注:本文来源于:<Linux下Oracle 12c的卸载> 与Windows下Oracle的安装容易卸载麻烦相反,Linux下Oracle的安装麻烦下载简单. 1.关闭Oracle数据库 ...
- 【JS】中的原型prototype到底是个啥
一.什么是原型 原型prototype是函数的一个属性,这个属性是一个指针,指向一个对象(原型对象),这个原型对象的用途是包含可以由特定类型的所有实例共享的属性和方法. 函数也是一种对象.它也是属性的 ...
- 解决在编程方式下无法访问Spark Master问题
我们可以选择使用spark-shell,spark-submit或者编写代码的方式运行Spark.在产品环境下,利用spark-submit将jar提交到spark,是较为常见的做法.但是在开发期间, ...
- Python1 简介及安装、基础
Python介绍 Python是面向对象,高级语言,解释,动态和多用途编程语言.Python易于学习,而且功能强大,功能多样的脚本语言使其对应用程序开发具有吸引力. Python的语法和动态类型具有其 ...
- 二.Rsync备份服务
自己动手部署一遍 期中架构-第二章-备份服务笔记====================================================================== 01. 课 ...
- LeetCode(118):杨辉三角
Easy! 题目描述: 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5 输出: [ [1], [1,1] ...
- laravel 分类的列表查询
public function index(Request $request, ResponseFactoryContract $response, QuestionModel $questionMo ...
- tmk射气球
问题 : tmk射气球 时间限制: 1 Sec 内存限制: 128 MB 题目描述 有一天TMK在做一个飞艇环游世界,突然他发现有一个气球沿匀速沿直线飘过,tmk想起了他飞艇上有一把弓,他打算拿弓去 ...