day21--CSM项目-点赞评论,发布故障总结

day21 2018-09-09


1. 今日内容
    1. 个人中心页
        1. 布局 --> 母版
        
    2. 故障总结详情页
        1. 点赞和反对
            1. 需求分析
                1. 每个人只能给一篇文章点一次推荐或者点一次反对
                2. 正常点赞功能
                    1. 
                3. 不能推荐/反对 自己的文章
            2. 实现 ORM进阶:https://www.cnblogs.com/liwenzhou/p/8660826.html
                1. Django ORM事务操作
                2. F查询
                    基于字段原来的值做操作的时候
                3. Q查询
                    查询条件是或的关系时
                
        2. 评论功能
            1. 评论的展示
                1. ORM反向查询用         --> 表名的小写
                2. ORM反向查询结果有多个 --> 表名小写_set.all()
                补充:
                    评论树如何实现?
                        
            2. 发表评论
            3. 带父评论的如何处理?
                1. JS里面的模板字符串
                2. jQuery中的事件委托
                3. XSS攻击
        3. 发布新故障总结
            1. 富文本编辑器插件使用
               Kindeditor:http://kindeditor.net/doc.php
            2. 富文本编辑器上传图片的操作
            3. 如何清洗上传的内容
                使用beautifulsoup4模块
                安装:
                    pip install beautifulsoup4
                使用:
                    from bs4 import BeautifulSoup
                三个方法:
                    1. .decompose()
                    2. soup.text
                    3. soup.prettify()
    
2. 本周任务:
    1. 回去复习下 auth模块:https://www.cnblogs.com/liwenzhou/p/9030211.html
    2. 把Django ORM的知识点总结一下 :https://www.cnblogs.com/liwenzhou/p/8660826.html
        1.必知必会13条
        2. 神奇的双下滑线
        3. 基于对象的查询和基于query_set的查询
        4. 多对多关系的三种方式
            1. 使用默认的M2M
            2. 自己定义第三张表,分别外键关联
            3. 使用M2M,通过through和through_fields属性指定第三张表
            4. 如何使用ORM执行SQL语句
                1. 在执行ORM查询的同时额外执行一段SQL
                    .extra(select={....})
                2. 按照pymysql的方式执行
                    # 执行原生的SQL语句
                    # from django.db import connection
                    # cursor = connection.cursor()
                    # cursor.execute("select * from app01_book;")
                    # ret = cursor.fetchone()
                    # print(ret)
        5. 分组和聚合
            .annotate()
            .aggreate()
        6. Django ORM开始事务操作
            from django.db import transaction
            with transaction.atomic():
                数据库操作1
                数据库操作2
        7. F查询和Q查询
            from django.db.models import F, Q
            1. 当两个字段之间做比较查询或者需要在原来值的基础上做更新的操作--F
            2. 对查询结果做 或 操作    ------Q        
    3. 回去复习下jQuery:https://www.cnblogs.com/liwenzhou/p/8178806.html   http://jquery.cuishifeng.cn
        1. jQuery选择器
            1. 基本选择器
            2. 层级选择器
            3. 基本筛选器
            4. 属性选择器
            5. 表单常用    $(":text")
            6. 筛选器方法
        2. jQuery操作标签
            1. 文本操作
                1. text()
                2. html()
            2. 文档操作
                1. 内部操作
                    1. 内部的前面插入
                    2. 内部的后面追加
                2. 外部操作
                    1. 前面插入
                    2. 后面追加
            3. 属性操作
                1. 普通的文本属性操作
                    attr()
                2. 布尔值的属性操作
                    prop()
            4. 样式操作
                1. 操作class
                    1. addClass()
                    2. removeClass()
                    3. hasClass()
                    4. toggleClass()
                2. 直接操作CSS
                    .css("color", "red")
            5. 事件
                事件委托
            
            6. 内置动画效果
    4. 回去复习下JS的内容:https://www.cnblogs.com/liwenzhou/p/8004649.html
        1. JS基础语法
        2. 变量和数据类型
            字符串
                常用方法
            数字
            布尔值
            undefined
            对象
                数组和其常用方法
        3. 内置对象
            RegExp
            JSON
            Math
            Date
            
        
        
        
    5. 《钗头凤》唐婉
        世情薄
        人情恶
        雨送黄昏花易落
        晓风干,
        泪痕残
        欲笺心事
        独语斜阑
        难,难,难

        人成各,
        今非昨,
        病魂常似秋千索,
        角声寒,
        夜阑珊,
        怕人询问,
        咽泪装欢,
        瞒,瞒,瞒。    
        
        
        
        
        
        
        
    
    
    
    
    
    
day16-19 Django
day19下午-day21 项目

0909个人中心页面
内容说明:
cms(个人中心页面)--report_detatil.html,urls,views;add_report.html;orm复习查询所有评论,链式操作,事件委托;bs4示例

--demo(复习模板语言;事务操作,数值更新;执行原生的sql语句)
一、点赞页面
1. 布局--母版
2.带标签的要加入safe
3.复制别人的博客代码:选择元素--选择代码--右键-copy-copyouterhtml
4.拷贝别人的样式:复制粘贴style


5.模板语言 替换字符串

6.django中事务操作(都执行成功或都失败)

7.更新数值--点赞数加1;字段值之间作比较
import F
练习博客中F和Q查询的例子
Q查询----实现or

+"10"


下午:
1.导入auth模块中的login_required
LOGIN_URL = "/login/"

2.orm很重要--整理orm



二、评论页面展示
评论楼:
展示所有评论
判断是否有父评论
评论树:chouti
先画第一层的,在写有子评论的

模板字符串:在settings中改为es6

回复评论
含父评论的评论

更新评论数
事件委托
给input框设置值 写val

给未来的标签绑定事件--on--事件冒泡
xss攻击(跨站脚本攻击):在js中代码中写个死循环
sql注入:数据库语句
csrf(跨站请求伪造):csrf_token



三、发布文章
1.内容实现
2.富文本编辑器
1.上传文本--注意文本的样式, notepad中复制的可能带python格式,手写的就无问题
2.上传图片
3.防止xss攻击:用beautifulsoup4 soup的三个用法
要求个人简介不能对标签进行切分,只能对文本

发布管理编辑之后的更新,修改密码--作业
展示内容--查看文档



按照留的任务复习写博客---听视频---写作业
把html内容写母版


原文地址:https://www.cnblogs.com/lijie123/p/10251034.html