示例#1
0
    def put(self):
        data = api.payload["data"]["article"]
        id = api.payload["data"].get('id')

        content = Article.query.filter(Article.id == id).first_or_404()
        tagRemove = content.tags.all()
        print(tagRemove, 'bbbb')
        if len(tagRemove) != 0:
            for n in tagRemove:
                print(n.name, 'aa')
                content.tags.remove(n)
        content.title = data.get("title")
        content.slug = data.get("slug")
        content.user_id = data.get("user_id")
        category = data.get("category")
        content.url_en = data.get("url_en")
        tags = data.get("tags")
        content.image_url = data.get("image_url")
        content.text = data.get("text")
        content.template = data.get("template")
        content.like_count = data.get("like_count")
        content.views = data.get("views")
        for i in tags:
            blogTag = Tag().query.filter(Tag.name == i).first()
            if blogTag:
                content.tags.append(blogTag)
                db.session.add(blogTag)
            else:
                blogTag = Tag(name=i)
                content.tags.append(blogTag)
                db.session.add(blogTag)
        delCategory = content.category.first() if content.category.first(
        ) else False
        if delCategory:
            content.category.remove(delCategory)
        blogCategory = Category().query.filter(
            Category.name == category).first()
        if blogCategory:
            content.category.append(blogCategory)
            db.session.add(blogCategory)
        else:
            blogCategory = Category(name=category)
            content.category.append(blogCategory)
            db.session.add(blogCategory)

        try:
            content.save()
            return {"code": 201, "status": "success", 'message': '文章修改成功!'}
        except Exception as eror:
            print(eror)
            return {"code": 401, "status": "error", "message": eror}
示例#2
0
    def post(self):
        data = api.payload["data"]["article"]
        title = data.get("title")
        slug = data.get("slug")
        user_id = data.get("user_id")
        post_type = data.get("post_type")
        url_en = data.get("url_en")
        tag = data.get("tag")
        image_url = data.get("image_url")
        text = data.get("text")
        template = data.get("template")
        like_count = data.get("like_count")
        views = data.get("views")

        content = Article(
            title=title,
            slug=slug,
            user_id=user_id,
            url_en=url_en,
            image_url=image_url,
            text=text,
            template=template,
            like_count=like_count,
            views=views,
        )
        tagList = data.get("tag")
        for i in tagList:
            blogTag = Tag().query.filter(Tag.name == i).first()
            if blogTag:
                content.tags.append(blogTag)
                db.session.add(blogTag)
                print(blogTag)
            else:
                blogTag = Tag(name=i)
                content.tags.append(blogTag)
                db.session.add(blogTag)
        '''文章分类'''
        blogCategory = Category().query.filter(Tag.name == post_type).first()
        if blogCategory:
            content.category.append(blogCategory)
            db.session.add(blogCategory)
        else:
            blogCategory = Category(name=post_type)
            content.category.append(blogCategory)
            db.session.add(blogCategory)
        db.session.add(content)
        db.session.commit()
        return {"code": 200, "status": "success", 'message': '文章提交成功!'}
示例#3
0
def blog_write():
    if request.method == 'POST':
        data = request.get_json()
        title = data.get('title')
        slug = data.get('slug')
        tags = data.get('tags')
        post_type = data.get('category')
        text = data.get('text')
        url_en = data.get("enUrl")
        user_id = session.get('user_id')
        image_url = data.get("img")
        template = data.get("template")
        article = Article(title=title,
                          slug=slug,
                          user_id=user_id,
                          url_en=url_en,
                          image_url=image_url,
                          text=text,
                          template=template)
        for i in tags:
            blogTag = Tag().query.filter(Tag.name == i).first()
            if blogTag:
                article.tags.append(blogTag)
                db.session.add(blogTag)
            else:
                blogTag = Tag(name=i)
                article.tags.append(blogTag)
                db.session.add(blogTag)
        blogCategory = Category().query.filter(
            Category.name == post_type).first()
        if blogCategory:
            article.category.append(blogCategory)
            db.session.add(blogCategory)
        else:
            blogCategory = Category(name=post_type)
            article.category.append(blogCategory)
            db.session.add(blogCategory)
        save = article.save()
        if save.get('status'):
            cache.clear()
            return jsonify({'status': "success", 'message': '文章修改成功'})
        else:
            return jsonify({
                'status': "error",
                'message': str(save.get('message'))
            })
    else:
        return render_template("blog-write.html", **locals())
示例#4
0
 def get(self):
     '''通过分类获取文章'''
     pageShow = 6
     category = request.args.get("category")
     page = request.args.get("page", type=int, default=1)
     categoryData = Category().query.filter(
         Category.name == category).first()
     total = categoryData.article.count()
     start = (page - 1) * pageShow
     end = start + pageShow
     articles = categoryData.article.order_by(Article.created.desc()).slice(
         start, end)
     articleList = []
     for article in articles:
         data1 = article.to_json()
         data1.update(
             {"category": categoryData.name if categoryData else None})
         articleList.append(data1)
     return jsonify({
         "data": {
             "article": articleList,
             "conuter": categoryData.article.count(),
             'pageShow': pageShow
         }
     })
示例#5
0
 def post(self):
     category = api.payload['data'].get('category')
     blogCategory = Category(name=category)
     if blogCategory.save():
         categoryData = Category.query.all()
         category = []
         for n in categoryData:
             category.append(n.to_json())
         return jsonify({
             "code": 201,
             "status": "success",
             'message': '文章分类提交成功!',
             'data': {
                 'category': category
             }
         })
     else:
         return jsonify({
             "code": 401,
             "status": "error",
             "message": '文章分类提交失败!'
         })
示例#6
0
def blog_category_handle():
    if request.method == "GET":
        categoryData = Category.query.all()
        categorys = []
        for i in categoryData:
            categorys.append({'id': i.id, 'name': i.name})
        return jsonify(categorys)
    elif request.method == "POST":
        category = Category(name=request.get_json().get('category'))
        save = category.save()
        if save.get('status'):
            categoryData = Category.query.all()
            categorys = []
            for i in categoryData:
                categorys.append({'id': i.id, 'name': i.name})
            cache.clear()
            return jsonify(categorys)
        else:
            return jsonify({'message': str(save.get('message'))})
    elif request.method == "PUT":
        data = request.get_json().get('category')
        category = Category.query.filter_by(id=data.get('id')).first()
        category.name = data.get('name')
        updata = category.updata()
        if updata.get('status'):
            categoryData = Category.query.all()
            categorys = []
            for i in categoryData:
                categorys.append({'id': i.id, 'name': i.name})
            cache.clear()
            return jsonify({'status': "success",
                            "message": ' 修改成功!', 'data': categorys})
        else:
            categoryData = Category.query.all()
            categorys = []
            for i in categoryData:
                categorys.append({'id': i.id, 'name': i.name})
            return jsonify({'status': "error",
                            "message": str(updata.get('message')), 'data': categorys})
    elif request.method == "DELETE":
        id = request.get_json().get('id')
        category = Category.query.filter_by(id=id).first()
        delete = category.delete()
        if delete.get('status'):
            categoryData = Category.query.all()
            categorys = []
            for i in categoryData:
                categorys.append({'id': i.id, 'name': i.name})
            cache.clear()
            return jsonify({'status': "success",
                            "message": ' 修改成功!', 'data': categorys})
    return jsonify({'status': "error",
                    "message": str(delete.get('message'))})
示例#7
0
def blog_modify(url):
    if request.method == "GET":
        url = url
        return render_template("blog-modify.html", **locals())
    elif request.method == 'PUT':
        data = request.get_json()
        title = data.get('title')
        slug = data.get('slug')
        tags = data.get('tags')
        post_type = data.get('category')
        text = data.get('text')
        url_en = data.get("enUrl")
        image_url = data.get("img")
        template = data.get("template")
        content = Article.query.filter_by(id=url).first()
        for tag in content.tags:
            content.tags.remove(tag)
        for category in content.category:
            content.category.remove(category)
        for i in tags:
            blogTag = Tag().query.filter(Tag.name == i).first()
            if blogTag:
                content.tags.append(blogTag)
                db.session.add(blogTag)
                print(blogTag)
            else:
                blogTag = Tag(name=i)
                content.tags.append(blogTag)
                db.session.add(blogTag)
        blogCategory = Category().query.filter(Category.name == post_type).first()
        if blogCategory:
            content.category.append(blogCategory)
            db.session.add(blogCategory)
        else:
            blogCategory = Category(name=post_type)
            content.category.append(blogCategory)
            db.session.add(blogCategory)
        content.title = title
        content.slug = slug
        content.text = text
        content.url_en = url_en
        content.image_url = image_url
        content.template = template
        updata = content.updata()
        if updata.get('status'):
            cache.clear()
            return jsonify({'status': "success",
                            "message": ' 修改成功!'})

        else:
            return jsonify({'status': "error",
                            "message": str(updata.get('message'))})

    elif request.method == "POST":
        content = Article.query.filter(
            Article.id == url).first()
        tags = []

        for tag in content.tags:
            tags.append(tag.name)
        category = content.category[0].name
        articleData = content.to_json()
        articleData['tags'] = tags
        articleData['category'] = category
        return jsonify(articleData)