Exemplo n.º 1
0
def create_news():
    if current_user:
        form = NewsForm()
        if form.validate_on_submit():
            article = Articles()
            article.title = form.title.data
            article.heading = form.heading.data
            article.content = form.content.data
            article.category = form.category.data[0]
            article.likes = 0
            article.dislikes = 0

            if request.files["file"]:
                file = request.files["file"]
                article.image = current_user.username + secure_filename(
                    file.filename)
                f = open(
                    current_app.config['UPLOAD_FOLDER'] +
                    current_user.username + file.filename, 'wb')
                f.write(file.read())
                f.close()
            else:
                article.image = "nophoto.jpg"

            current_user.article.append(article)
            db.session.merge(current_user)
            db.session.commit()
            return redirect('/')
        return render_template('news_create.html',
                               title='Добавление новости',
                               form=form)
Exemplo n.º 2
0
def art_add():
    rul = str(request.url_rule)
    if rul[5:7] == 'li':
        rul = 'list'
    form = ArticleAddFrom()
    if form.validate_on_submit():
        data = form.data
        if data['logo']:
            # 保存上传的封面
            # 获取文件名
            file = form.logo.data.filename
            # 起一个文件名
            file = str(uuid.uuid4()) + os.path.splitext(file)[-1]
            # 查看有没有保存上传文件的目录,如果没有则自动新建
            up_dir = os.path.join(app.config['BASE_DIR'], 'static/uploads/')
            if not os.path.exists(up_dir):
                os.makedirs(up_dir)
            # 存储文件
            form.logo.data.save(up_dir + file)
        else:
            file = ''

        # 在文章数据库中写入数据
        art = Articles()
        art.title = data['title']
        art.category = data['category']
        # 获取用户的id
        user = Users.query.filter_by(account=session['account']).first()
        art.uid = user.id
        art.content = data['content']
        art.logo = file
        db.session.add(art)
        db.session.commit()
        return redirect(url_for('home.art_list'))
    return render_template('home/art_add.html',
                           title=session['account'] + '的博客',
                           rul=rul,
                           form=form)