django小例

2018-07-16 02:50:48来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

今日内容:
1、子评论评论楼的实现;评论树尚未实现;
2、富文本编辑器的使用。
 
XSS攻击全称跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
 
 
JsonRespones不能序列化对象。
 
 
在js中赋值一个全局变量,一定不要加var,否则它就变为一个局部变量。
 
$(".reply").click(function () {
var username = $(this).attr("comment_user");
var val = "@" + username + "\n";
$("#comment_content").focus().val(val);
parent_id = $(this).attr("comment_id");
});
 
文章描述只显示文本,使用bs4模块。
from bs4 import BeautifulSoup
# 切片文章文本
desc = soup.text[:200]
 
用户上传文章存储的安全问题,bs4模块,过滤特殊标签和字符。
 
# 文章过滤
for item in soup.find_all():
if item.name in ["script",]:
item.decompose()
 
# 切片文章文本
desc = soup.text[:200]
 
article_obj = models.Article.objects.create(title=title,desc=desc,content=str(soup),category=category,user=user)
for tag in tags:
models.Article2Tag.objects.create(article=article_obj,tag=tag)
return redirect(reverse("backend"))
 
 
 
content=str(soup)
 
文章与标签多对多的关系,我们没有采用django自动生成的那张表,因此,多对多的关系需要我们自己在Article2Tag表中自己添加,不能再使用article_obj.tags.add()。
 
编辑的时候,可以先删除当前文章与标签的关系,再create。
 
 
 
特别注意:
 
def __str__(self):
return self.title
 
在models里设置了__str__方法,在模板里取{{ 对象 }},只能取到title,而不是一个对象。
 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:NO.7:自学python之路------类的方法、异常处理、socket网络编程

下一篇:Pyhton入门 笔记 第三天 函数