コード例 #1
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)
コード例 #2
0
def single_news(news_id):
    my_news = News.query.filter(News.id == news_id).first()

    if not my_news:
        abort(404)
    comment_form = CommentForm(news_id=my_news.id)
    return render_template('news/single_news.html', page_title=my_news.title, news=my_news, comment_form=comment_form)
コード例 #3
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()) # редиректим на туже страницу
コード例 #4
0
ファイル: views.py プロジェクト: earlinn/learn_web
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(
                    f'Ошибка в поле {getattr(form, field).label.text}: {error}'
                )
    return redirect(get_redirect_target())
コード例 #5
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)
コード例 #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('Comment successfully added!')
    else:
        for field, errors in form.errors.items():
            for error in errors:
                flash('In "{}" field: {} '.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)
        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(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
ファイル: views.py プロジェクト: r2d2-lex/flaskapp1
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())
コード例 #11
0
ファイル: views.py プロジェクト: ViktorBoroch/lessons_flask
def single_news(news_id):
    my_news = News.query.filter(News.id == news_id).first()
    # weather = weather_by_city(current_app.config['WEATHER_DEFAULT_CITY'])
    if not my_news:
        abort(404)

    comment_form = CommentForm(news_id=my_news.id)
    return render_template('news/single_news.html',
                           page_title=my_news.title,
                           news=my_news,
                           comment_form=comment_form)
コード例 #12
0
ファイル: views.py プロジェクト: AntsiferovBogdan/Flask_app
def single_news(news_id):
    chosen_news = News.query.filter(News.id == news_id).first()
    comments = Comment.query.filter(Comment.news_id == news_id).all()
    if not chosen_news:
        abort(404)

    form = CommentForm(news_id=chosen_news.id)

    return render_template('news/single_news.html',
                           page_title=chosen_news.title,
                           chosen_news=chosen_news,
                           comment_form=form,
                           comments=comments)
コード例 #13
0
def single_news(news_id):
    my_news = News.query.filter(News.id == news_id).first() # нашли запись
    if not my_news: # если не нашли запись, то возвращаем 404
        abort(404)
    comment_form = CommentForm(news_id=my_news.id) # передаем в value id новости
    return render_template('news/single_news.html', page_title=my_news.title, news=my_news, comment_form=comment_form)