コード例 #1
0
ファイル: views.py プロジェクト: fat39/baozhangxitong
    def post(self, request, *args, **kwargs):
        userinfo = request.session.get("userinfo")
        blog_id = userinfo["blog_id"]
        article_nid = request.POST.get("article_nid")
        article_title = request.POST.get("article_title")
        article_content = request.POST.get("article_content")
        article_type_id = request.POST.get("article_type_id")
        category_id = request.POST.get("category_id")
        tags = request.POST.get("tags")

        content_origin, content_text = xss.xss(article_content)

        article_info = {
            "title": article_title,
            "summary": content_text[:70],
            "blog_id": blog_id,
            "article_type_id": article_type_id,
            "category_id": category_id,
        }

        if article_nid:
            models.Article.objects.filter(nid=article_nid).update(
                **article_info)
            models.ArticleDetail.objects.filter(article_id=article_nid).update(
                content=content_origin)

        if (not article_nid
            ) and article_title and article_content:  # 标题和内容必须存在
            # 创建文章
            art_obj = models.Article.objects.create(**article_info)
            # 创建文章详细内容
            models.ArticleDetail.objects.create(content=content_origin,
                                                article=art_obj)

            if tags:
                tag_list = list(filter(lambda x: x, tags.split(",")))  # 去除空字符
                tag_models_list = [
                    item[0] for item in models.Tag.objects.filter(
                        blog_id=blog_id).values_list("title")
                ]
                tag_create_set = set(tag_list).difference(tag_models_list)
                tag_obj_list = []
                for item in tag_create_set:
                    tag_obj_list.append(models.Tag(title=item,
                                                   blog_id=blog_id))
                models.Tag.objects.bulk_create(tag_obj_list)

                tag_objs = models.Tag.objects.filter(blog_id=blog_id,
                                                     title__in=tag_list)
                # print(tag_objs)
                A2T_obj_list = []
                for item in tag_objs:
                    A2T_obj_list.append(
                        models.Article2Tag(article=art_obj, tag=item))
                x = models.Article2Tag.objects.bulk_create(A2T_obj_list)
                # print(x)

        return redirect("/backend/article.html")
コード例 #2
0
ファイル: forms.py プロジェクト: summer93/midsummer_blog
    def clean_content(self):
        old = self.cleaned_data['content']
        from utils.xss import xss

        return xss(old)
コード例 #3
0
 def clean_content(self):
     old_content=self.cleaned_data["content"]
     return xss(old_content)
コード例 #4
0
 def clean_content(self):
     old=self.cleaned_data['content']
     return xss(old)