欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

django小例

程序员文章站 2024-02-03 12:11:46
今日内容: 1、子评论评论楼的实现;评论树尚未实现; 2、富文本编辑器的使用。 XSS攻击全称跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入 ......
今日内容:
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,而不是一个对象。
 

上一篇: Vuex的初探与实战

下一篇: MySQL 锁