django小例

Posted heyazhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django小例相关的知识,希望对你有一定的参考价值。

今日内容:
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 + " ";
$("#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,而不是一个对象。
 

以上是关于django小例的主要内容,如果未能解决你的问题,请参考以下文章

游标小例

TransactionScope小例

数据存储小例

小例二

拖拽小例

传统AJAX小例