数据格式、子评论、kindeditor编辑器、xss攻击、beautifulsoup模块

一、json数据格式与python数据格式的互相转换。

 

 二、text 与html 获取标签中的内容的区别

 

 

 三、子评论

点击回复按钮发生了哪些事情?

1、自动拼接出想要回复的评论的人名:@人名

2、评论框自动聚焦

问题:

1、子评论的内容在后端数据库里带了@人名

解决:子评论的内容需要做切割处理

2、提交完子评论后,页面不刷新,直接在评论里写评论,为什么后续的评论都会变成子评论

解决:将全局的parentId变量也清空

四、kindeditor编辑器

1、写下载:kindeditor编辑器

2、放在静态文件夹static下

五、后台管理功能

1、问题:文章简介无法截取150文字

2、问题:如何防止xss脚本攻击?既是:01、如何:直接将用户写的所有script找到并直接删除。02、如何:将用户书写的script标签注释、转义

解决:用beautifulsoup模块

六、beautifulsoup模块:专门用来处理html文档内容的。是一个跟爬虫相关的模块

 

 

 1、先安装beautifulsoup

既是:pip3 install beautifulsoup4

使用时:from bs4 import BeautifulSoup

from bs4 import BeautifulSoup
#
添加文章 @login_required def add_article(request): # 接收前端发送过来的form表单 if request.method == 'POST': title = request.POST.get('title') content = request.POST.get('content') category_id = request.POST.get('category') tag_list = request.POST.get('tag') # 1、先生成一个该模块的对象 soup = BeautifulSoup(content,'html.parser') print(soup.text) for tag in soup.find_all(): print(tag.name) # 筛选出srcipt标签直接删除 if tag.name == 'script': tag.decompose() # 删除标签 desc = soup.text[0:150] # 写入数据 article_obj = models.Article.objects.create(title=title,desc=desc,content=str(soup),category_id=category_id,blog=request.user.blog) # 手动操作 文章与标签的第三张表既是:Article2Tag表 (add set remove clear) # 批量插入标签数据,用bulk_create b_list = [] for tag_id in tag_list: b_list.append(models.Article2Tag(article=article_obj,tag_id=tag_id)) models.Article2Tag.objects.bulk_create(b_list) return register(reverse('backend')) category_list = models.Category.objects.filter(blog=request.user.blog) # 分类 tag_list = models.Tag.objects.filter(blog=request.user.blog) return render(request,'backend/add_article.html',locals())

 

posted @ 2020-02-08 11:49  薛定谔的猫66  阅读(187)  评论(0)    收藏  举报