Пример #1
0
def single_news(news_id):
    my_news = News.query.filter(News.id == news_id).first()

    if not my_news:
        abort(404)

    form = CommentForm(news_id=my_news.id)

    if form.validate_on_submit():
        comment = Comment(news_id=form.news_id.data,
                          user_id=current_user.id,
                          text=form.text.datas)

        db.session.add(comment)
        db.session.commit()
        flash('Комментарий успешно добавлен')
        return redirect(get_redirect_target())
    elif form.errors:
        for field, errors in form.errors.items():
            for error in errors:
                flash('Ошибка в заполнении поля "{}": - {}'.format(
                    getattr(form, field).label.text, error))
        return redirect(get_redirect_target())

    return render_template('news/single_news.html',
                           page_title=my_news.title,
                           news=my_news,
                           form=form)
Пример #2
0
def add_comment():
    form = CommentForm()
    if form.validate_on_submit():
        comment = Comment(text=form.comment_text.data, news_id=form.news_id.data, user_id=current_user.id)
        db.session.add(comment)
        db.session.commit()
        flash('Комментарарий успешно добавлен')
    else:
        for field, errors in form.errors.item():
            for error in errors:
                flash('Ошибка в заполнении поля {}: {}'.format(getattr(form, field).label.text, error))
    return redirect(get_redirect_target())
Пример #3
0
def add_comment():
    form = CommentForm()
    if form.validate_on_submit():
        comment = Comment(text=form.text.data,
                          news_id=form.news_id.data,
                          user_id=current_user.id)
        db.session.add(comment)
        db.session.commit()
        flash('Комментарий успешно добавлен!')
    else:
        for field, errors in form.errors.items():
            for error in errors:
                flash(f'Ошибка в поле {field} - {error}')
    return redirect(get_redirect_target())
Пример #4
0
def add_comment():
    form = CommentForm()
    if form.validate_on_submit():
        comment = Comment(text=form.comment_text.data,
                          news_id=form.news_id.data,
                          user_id=current_user.id)
        db.session.add(comment)
        db.session.commit()
        flash('Comment successfully added')
    else:
        for field, errors in form.errors.items():
            for error in errors:
                flash('Error in field "{}": - {}'.format(
                    getattr(form, field).label.text, error))
    return redirect(get_redirect_target())
Пример #5
0
def add_comment():
    form = CommentForm()
    if form.validate_on_submit():
        if News.query.filter(News.id == form.news_id.data).first():
            comment = Comment(text=form.comment_text.data,
                              news_id=form.news_id.data,
                              user_id=current_user.id)
            db.session.add(comment)
            db.session.commit()
            flash('Комментарий успешно добавлен')
        else:
            for field, errors in form.errors.items():
                for error in errors:
                    flash('Ошибка в поле {}: {}'.format(
                        getattr(form, field).label.text, error))
        return redirect(request.referrer)
Пример #6
0
def add_comment():
    #pass # напишем код потом, но при компиляции не получим ошибку - потому что функция не может быть пустой
    form = CommentForm()
    if form.validate_on_submit(): # если форма провалидирована
        comment = Comment(text=form.comment_text.data, news_id=form.news_id.data, user_id=current_user.id)
        db.session.add(comment)
        db.session.commit()
        flash('Комментарий успешно добавлен')
    else:
        for field, errors in form.errors.items(): # field - название поля, errors - список ошибок
            for error in errors:
                flash('Ошибка в поле "{}": - {}'.format(
                    getattr(form, field).label.text,
                    error
                ))
    return redirect(get_redirect_target()) # редиректим на туже страницу
Пример #7
0
def add_comment():
    form = CommentForm()
    if form.validate_on_submit():
        comment = Comment(text=form.comment_text.data, news_id=form.news_id.data, user_id=current_user.id)
        db.session.add(comment)
        try:
            db.session.commit()
            flash('Comment added')
        except OperationalError:
            db.session.rollback()
            flash('Shit, db is locked')
    else:
        for field, errors in form.errors.items():
            for error in errors:
                flash('Error in field {}: {}'.format(getattr(form, field).label.text, error))
    return redirect(request.get_redirect_target)
Пример #8
0
def add_comment():
    form = CommentForm()
    if form.validate_on_submit():
        # if News.query.filter(News.id == form.news_id.data).first(): #- проверка перенесена в форму
        comment = Comment(text=form.comment_text.data,
                          news_id=form.news_id.data,
                          user_id=current_user.id)
        db.session.add(comment)
        db.session.commit()
        flash('Комментарий успешно добавлен')
    else:
        for field, errors in form.errors.items():
            for error in errors:
                flash('Ошибка в заполнении поля "{}": - {}'.format(
                    getattr(form, field).label.text, error))
    # request.referrer - вернуть пользователя на туже страницу с которой пришёл (лучше не использовать -можно подделать)
    # return redirect(request.referrer) - заменили на функцию из utils
    return redirect(get_redirect_target())
Пример #9
0
def add_comment():
    form = CommentForm()
    if form.validate_on_submit():
        if News.query.filter(News.id == form.news_id.data).first():
            comment = Comment(text=form.comment_text.data,
                              news_id=form.news_id.data,
                              user_id=current_user.id)
            db.session.add(comment)
            db.session.commit()
            flash("Комментарий добавлен")
    else:
        for field, errors in form.errors.items():
            for error in errors:
                flash(
                    f"Ошибка в поле {getattr(form, field).label.text}: {error}"
                )
        return redirect(url_for("user.register"))

    return redirect(get_redirect_target())
Пример #10
0
def add_comment():
    form = CommentForm()
    if form.validate_on_submit():
        comment = Comment(text=form.comment_text.data,
                          news_id=form.news_id.data,
                          user_id=current_user.id)
        db.session.add(comment)
        db.session.commit()
        flash('Коментарий добавлен')
    else:
        for field, errors in form.errors.items():
            for error in errors:
                flash('Ошибка в поле "{}": - {}'.format(
                    getattr(form, field).label.text, error))
        print(form.errors)
        flash('Пожалуйста исправьте ошибки в форме')

    #return redirect(request.referrer)
    return redirect(get_redirect_target())