Esempio n. 1
0
    def save_to_db(self):
        if self.id.data:  # edit
            article = Article.query.get(int(self.id.data))
        else:
            article = Article()
        article.title = self.title.data
        article.short_description = self.short_description.data
        article.body = self.body.data
        article.published = self.published.data
        article.category_id = self.category.data
        article.authors = list(map(lambda member_id: Member.query.get(int(member_id)), self.authors.data))
        article.tags = []
        for tag in self.tags.data:
            tag_record = Tag.query.filter_by(name=tag).first()
            if not tag_record:
                tag_record = Tag(name=tag)
                db.session.add(tag_record)
                db.session.commit()

            article.tags.append(tag_record)
        if self.article_cover.data:
            article.cover = upload(self.article_cover.data)
        print("article", article)

        db.session.add(article)
        db.session.commit()
Esempio n. 2
0
    def run(self, page=0):
        self.page = page
        while self.continued:
            self.load_page()
            page_contents = self.load_page_contents()
            if not page_contents:
                print(f'{self} 완료')
                return

            for url in page_contents:
                self.load_content(url)
                content = self.parse_content()
                if content is None:
                    continue
                session = create_session()

                article = (session.query(Article).filter(
                    Article.title == content.title).first())

                if not article:
                    article = Article()

                article.title = content.title
                article.body = content.text
                article.source = self.name
                session.add(article)
                session.commit()
                time.sleep(random.random() * 1 + 2)
            print(f'{self.page}페이지 탐색 완료')
Esempio n. 3
0
def publish():
    form = ArticleForm(request.form)
    if request.method == "GET":
        return render_template("control/publish.html", form=form)

    if form.validate_on_submit():
        # 获取博客内容
        TextContent = request.form.get("TextContent")

        # 获取上传的文件,并对图片进行预处理,上传到七牛云,然后获取url地址
        poster = None
        if request.files.get('poster'):
            file = request.files.get('poster')
            imgData = get_specification_image(file)
            poster = uploadImg(imgData)

        with db.submit_data():
            data = Article()
            data.setter_data(request.form)
            data.body = TextContent
            data.poster = poster
            db.session.add(data)
        return redirect(url_for('web.index'))
    else:
        for errorMessage in form.errors:
            flash(errorMessage)
        return redirect(url_for('web.publish'))
Esempio n. 4
0
def write(request):
    if request.session.get('username') != 'admin':
        info = "你不是小张!不过可以<a href='../about/'>查看小张</a>"
        return HttpResponse(info)
    if request.method == 'POST':
        title = request.POST['title']
        body = request.POST['body']
        author = request.POST['author']

        article = Article()
        article.title = title
        article.body = body
        article.author = author
        article.create_time = datetime.now()
        article.save()
        return render(request, 'index.html', context_instance=RequestContext(request))
    return render(request, 'write.html', context_instance=RequestContext(request))
Esempio n. 5
0
def add_article():
    form = ArticleForm()

    if request.method == 'GET':
        return render_template('back/add-article.html', form=form)
    if request.method == 'POST':
        if form.validate_on_submit():
            # 通过验证就建文章对象
            article = Article()
            article.title = form.data.get('title')
            article.body = form.data.get('body')
            article.desc = form.data.get('desc')
            article.keywords = form.data.get('keywords')
            article.c_name = form.data.get('category')
            # TODO: 如果栏目不存在,就调转到添加页面
            article.save()
            return redirect(url_for('back.article'))
        errors = form.errors
        return render_template('back/add-article.html',
                               errors=errors,
                               form=form)