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 = 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 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 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.musician = form.musician.data news.name = form.name.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(): 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 = 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 news_add(): 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('/news') return render_template('create_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 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_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 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_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() news = News() news.title = form.title.data news.content = form.content.data im = request.files['file'] # upload photo number_of_img = randint(0, 10000000000) im.save(f"static/img/new_image{number_of_img}.jpg" ) # save upload photo news.img = f"new_image{number_of_img}.jpg" im = None 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)