def add_news(): form = NewsForm() if form.validate_on_submit(): session = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data f = form.photo.data if f: filename = secure_filename(f.filename) f.save(os.path.join(app.static_folder, 'img', filename)) news.photo = f.filename news.is_private = form.is_private.data lst = [] tags = [] for e in session.query(Category.name): lst.append(*e) for i in form.tag.data.split(): if i not in lst: tag = Category(name=i) session.add(tag) tags.append(i) news.tag_id = ' '.join(tags) current_user.news.append(news) session.merge(current_user) session.commit() return redirect('/') return render_template('news.html', title='Добавление новости', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() if request.method == 'POST': print(request.files) if 'file' not in request.files: flash('No file part') return redirect(request.url) file = request.files['file'] if file.filename == '': flash('No selected file') return redirect(request.url) if file and allowed_file(file.filename): filename = secure_filename(file.filename) file.save(os.path.join('static', 'img', filename)) news.images = filename news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('add_news.html', title='Добавление новости', form=form)
def add_news(): form = ContentForm() if form.validate_on_submit(): db_sess = db_session.create_session() all_news = db_sess.query(News).all() le = len(all_news) news_item = News() news_item.title = form.title.data news_item.content = form.content.data news_item.created_date = datetime.now().date() news_item.picture = '' current_user.news.append(news_item) img = Image.open(form.picture.data) img.save(f'static/img/news/back_news_item{le}.jpg') news_item.picture = f'back_news_item{le}.jpg' db_sess.merge(current_user) db_sess.commit() db_sess.close() return redirect('/') return render_template('content.html', title='Новая новость - Sputnik', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): attachments = [] f = request.files['file'] if f: files = request.files.to_dict(flat=False)['file'] for file in files: print(file.filename) # Обработка приложенных файлов filename = secure_filename( f'{str(time.time()).replace(".", "-")}-{file.filename}') attachments.append(filename) # print(filename) file.save('static/attachments/' + filename) db_sess = db_session.create_session() # Сохранение и отправка news = News() news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data news.attach = '|'.join(attachments) current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/feed') return render_template('news.html', title='Добавление новости', form=form)
def feed(): session['from_page'] = f'/feed' form = NewsForm() # Подключаем нужные формы commsform = CommsForm() db_sess = db_session.create_session() comms = db_sess.query(Comment).all() if current_user.is_authenticated: news = db_sess.query(News).filter(( News.user == current_user) | (News.is_private != True)).order_by( News.created_date.desc()) # Достаём новости из БД if form.validate_on_submit(): # Форма добавления новости attachments = [] f = request.files['file'] if f: files = request.files.to_dict(flat=False)['file'] for file in files: print(file.filename) filename = secure_filename( f'{str(time.time()).replace(".", "-")}-{file.filename}' ) ftype = '' # Определяем тип файла для корректного отображения в браузере if filename.endswith('png') or filename.endswith('jpg') \ or filename.endswith('jpeg') or filename.endswith('bmp') \ or filename.endswith('mp4') or filename.endswith('mov') \ or filename.endswith('avi') or filename.endswith('wav') \ or filename.endswith('mp3'): ftype = 'media' attachments.append(f'{ftype}{filename}') # print(filename) file.save('static/attachments/' + f'{ftype}{filename}') db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data news.attach = '|'.join(attachments) current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/feed') if commsform.validate_on_submit(): # Отправка комментария db_sess = db_session.create_session() comm = Comment() comm.to = commsform.to.data comm.content = commsform.content.data current_user.comm.append(comm) db_sess.merge(current_user) db_sess.commit() return redirect(f'/feed#{comm.to}') else: news = db_sess.query(News).filter(News.is_private != True).order_by( News.created_date.desc()) return render_template("feed.html", news=news, form=form, comments=comms, commsform=commsform, title='Новости на главной странице')
def index(prof_id): session[ 'from_page'] = f'/{prof_id}' # Объявляем переменные, подключаем базу данных, собираем данные form = NewsForm() commsform = CommsForm() db_sess = db_session.create_session() comms = db_sess.query(Comment).all() prof_user = db_sess.query(User).filter( User.id == prof_id) # Получаем ИД пользователя, в профиль которого мы зашли if current_user.is_authenticated: # Если пользователь аутентифицирован news = db_sess.query(News).filter(News.user.has(id=prof_id)).order_by( News.created_date.desc()) if form.validate_on_submit(): # Форма для создания новости attachments = [] f = request.files['file'] if f: # Работаем с вложениями: называем каждое вложение, сохраняем в папку # print(request.files.to_dict(flat=False)['file']) files = request.files.to_dict(flat=False)['file'] for file in files: filename = secure_filename( f'{str(time.time()).replace(".", "-")}.png') attachments.append(filename) # print(filename) file.save('static/attachments/' + filename) db_sess = db_session.create_session() news = News( ) # Добавляем данные к экземпляру класса News данные и сохраняем news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data news.attach = '|'.join(attachments) current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect(f'/{prof_id}') if commsform.validate_on_submit(): # Форма для комментариев db_sess = db_session.create_session() comm = Comment( ) # Добавляем данные к экземпляру класса Comment данные и сохраняем comm.to = commsform.to.data comm.content = commsform.content.data current_user.comm.append(comm) db_sess.merge(current_user) db_sess.commit() return redirect(f'/{prof_id}') else: # Иначе отправляем все новости news = db_sess.query(News).filter(News.is_private != True).order_by( News.created_date.desc()) return render_template("profile.html", news=news, form=form, profile_id=prof_id, profile_user=prof_user, comments=comms, commsform=commsform, title='Профиль')
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/blogs') return render_template('news.html', title='Добавление новости', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data db_sess.add(news) db_sess.commit() return redirect('/home') return render_template('news.html', title='Создание новости', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): session = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data current_user.news.append(news) session.merge(current_user) session.commit() return redirect('/') return render_template('news.html', title='Добавление отзыва', form=form)
def add_news(): form = AddNewsForm() if form.validate_on_submit(): news_ = News() news_.user_id = form.user.data news_.title = "Title" news_.content = form.content.data session = db_session.create_session() session.add(news_) session.commit() flask.session["last_news"] = news_.content return redirect("/news") return render_template('addnews.html', form=form)
def add_news(): form = NewsForm() # форма добавления отзыва if form.validate_on_submit(): db_sess = db_session.create_session() # сессия бд news = News() # создаем новый отзыв в бд news.title = form.title.data # добавляем данные в поля news.content = form.content.data news.is_private = form.is_private.data news.picture = form.picture.data current_user.news.append(news) # добавляем отзыв у пользователя db_sess.merge(current_user) # связываем отзыв с текущим пользователем db_sess.commit() # сохраняем изменения return redirect('/reviews') # переходим на страницу отзывов return render_template('news.html', title='Добавление отзыва', form=form)
def article(): db_sess = db_session.create_session() news1 = db_sess.query(News) form = NewsForm() if form.validate_on_submit(): news2 = News() news2.title = form.title.data news2.description = form.content.data news2.href = form.href.data current_user.news.append(news2) db_sess.merge(current_user) db_sess.commit() return redirect('/news') return render_template("article.html", form=form, news=news1)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data current_user.news.append(news) # передаём бд данные б изменённом пользователе db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Добавление новости', form=form)
def add_news(): form = NewsForm() if request.method == "GET": return render_template("add_news.html", title="Добавление новости", form=form) elif request.method == "POST": session = db_session.create_session() news = News() news.title = request.form.get("title") news.theme = request.form.get("theme") news.content = request.form.get("content") news.user_id = current_user.id private = request.form.get("private") news.is_private = 0 if private is None else 1 session.add(news) session.commit() return redirect("/")
def add_post(): form = NewsForm() if form.validate_on_submit(): session = db_session.create_session() news = News() news.title = form.title.data news.description = form.description.data news.content = form.content.data news.tags = form.tags.data news.is_private = form.is_private.data date = datetime.date.today() news.created_date = date current_user.news.append(news) session.merge(current_user) session.commit() return redirect("/") return render_template('adding.html', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data im = request.files['file'] number_of_img = randint(0, 10000000000) im.save(f"static/img/new_image{number_of_img}.jpg") news.img = f"new_image{number_of_img}.jpg" im = None current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Создание объявления', form=form)
def add_news(): """ Обработка добавления новости :return: шаблон для добавления """ form = AddNewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.user_id = current_user.id news.title = form.news_name.data news.content = form.news_content.data db_sess.add(news) db_sess.commit() return redirect('/office') return render_template("add_news.html", form=form, title='Добавить новость')
def index(): global visits_count form = NewsForm() if form.validate_on_submit(): session = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data news.count = form.count.data file = request.files['file'] if file and allowed_file(file.filename): filename = secure_filename(file.filename) file.save( os.path.join(app.config['UPLOAD_FOLDER'], str(session.query(News)[-1].id + 1)) + filename[-4:]) news.filename = '/static/img/' + str( session.query(News)[-1].id + 1) + str(filename[-4:]) current_user.news.append(news) session.merge(current_user) session.commit() return redirect('/') session = db_session.create_session() news = session.query(News)[::-1] visits_count = int(request.cookies.get("index", 0)) if visits_count: res = make_response( render_template('index.html', news=news, title='Маринчка', form=form)) res.set_cookie("index", str(visits_count + 1), max_age=60 * 60 * 24 * 365 * 2) else: res = make_response( render_template('about_us.html', news=news, title='Маринчка', form=form)) res.set_cookie("index", str(visits_count + 1), max_age=60 * 60 * 24 * 365 * 2) return res
def add_quest(id): form = NewsForm() db_sess = db_session.create_session() if db_sess.query(Hubs).filter_by(id=id).first().admin == current_user.id: if form.validate_on_submit(): news = News() news.title = form.title.data news.content = form.content.data news.hub_id = id news.id_user = form.id_user.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect(f'/hub/{id}') return render_template('news.html', title='Добавление новости', form=form) else: abort(404)
def add_news_page(): """"Add news( available only for users) Create form: title, content, is_private (created date and user id automatically) After submit redirect to home""" form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() news = News() news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Добавление новости', form=form)
def add_news(): form = NewsForm() if form.validate_on_submit: db_sess = db_session.create_session() print("ok session") news = News() news.title = form.title.data print("OK news") news.content = form.content.data #news.image = convert_to_binary_data(form.image.data) news.is_private = form.is_private.data news.city = form.city.data news.price = form.Pr.data news.type = form.flat.data news.room = form.room.data current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Добавление объявления', form=form)
def add_news(): if current_user.id in ADMINS: form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() new_news = News() # создание новости new_news.title = form.title.data new_news.content = form.content.data new_news.created_date = datetime.datetime.now() current_user.news.append(new_news) db_sess.merge(current_user) db_sess.commit() return redirect('/news') return render_template('add_news.html', title='Добавление новости', form=form, photo='/'.join( current_user.photo.split('/')[1:]), is_photo=current_user.is_photo) return render_template('no_perm.html', title='Ошибка', is_photo=current_user.is_photo, photo='/'.join(current_user.photo.split('/')[1:]))
def add_news(): form = NewsForm() db_sess = db_session.create_session() categories = db_sess.query(Category).all() category = [(i.id, i.name) for i in db_sess.query(Category).all()] form.category.choices = category if form.validate_on_submit(): news = News() news.title = form.title.data # news.content = form.content.data logging.warning(form) # news.content = form.content.data news.content = request.form.get('content') news.is_published = form.is_published.data news.category_id = form.category.data current_user.news.append(news) # мы изменили текущего пользователя с помощью метода merge db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Добавление новости', form=form, category=categories)