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 addnews(): form = AddNewsForm() if current_user.sostav != 'P': return redirect('/') if form.validate_on_submit(): new = News(title=form.title.data, content=form.content.data, upd_date=datetime.datetime.now()) if form.img.data: form.img.data.save('static/img/news/' + form.img.data.filename) new.img = 'static/img/news/' + form.img.data.filename session = db_session.create_session() session.add(new) session.commit() return redirect('/news') return render_template('addnews.html', form=form)
def addNews(title, content, user_id, is_private): news = News(title=title, content=content, user_id=user_id, is_private=is_private) session = db_session.create_session() session.add(news) session.commit()
def add_news(back): db_sess = db_session.create_session() news = News(user_id=current_user.id, news_text=request.form['text']) db_sess.add(news) db_sess.commit() if back == 'newstape': return redirect(f'/newstape') return redirect(f'/account/{current_user.username}')
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(): 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 = 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(): """ Обработка добавления новости :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 post(self): args = parser.parse_args() session = db_session.create_session() news = News(title=args['title'], content=args['content'], user_id=args['user_id']) session.add(news) session.commit() return jsonify({'success': 'OK'})
def add_news(db_sess): news = News(title="Первая новость", content="Привет блог!", user_id=1, is_private=False) db_sess.add(news) news = News(title="Вторая новость", content="Привет блог! Еще раз", user_id=1, is_private=False) db_sess.add(news) news = News(title="Третья новость", content="Кто здесь", user_id=3, is_private=False) db_sess.add(news) news = News(title="4 новость", content="Кто здесь", user_id=4, is_private=True) db_sess.add(news) user = db_sess.query(User).filter(User.id == 1).first() news = News(title="Личная запись", content="Эта запись личная", is_private=True) user.news.append(news) db_sess.commit()
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 new_news_item(): form = NewsForm() if form.validate_on_submit(): db_sess = db_session.create_session() filename = secure_filename(form.image.data.filename) form.image.data.save('uploads/'+filename) news = News(form.title.data, form.content.data, '/img/'+filename, 1) db_sess.add(news) db_sess.commit() return redirect(f"/admin/news") return render_template('admin/news_item.html', title='Новая Новость', form=form)
def main(): db_session.global_init("db/blogs.db") # app.run() db_sess = db_session.create_session() user = db_sess.query(User).filter(User.id == 1).first() news = News(title="Вторая новость", content="Уже вторая запись!", user=user, is_private=False) db_sess.add(news) db_sess.commit()
def post(self): args = parser.parse_args() session = db_session.create_session() news = News(musician=args['musician'], name=args['name'], user_id=args['user_id'], is_published=args['is_published'], is_private=args['is_private']) session.add(news) session.commit() return jsonify({'success': 'OK'})
def post(self): """Добавить новую новость""" args = parser.parse_args() session = db_session.create_session() # noinspection PyArgumentList news = News(content=args['content'], user_id=args['user_id'], is_private=args['is_private']) session.add(news) session.commit() return jsonify({'success': 'OK'})
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(): 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 post(self): args = news_parser.parser.parse_args() session = db_session.create_session() news = News(id=int(args['news_id']), User_id=int(args['User_id']), news_Name=args['news_News'], news=args['news'], start_date=datetime.datetime.strptime( args['start_date'], '%d-%m-%y').date(), private=args['private']) session.add(news) session.commit() return jsonify({'success': 'OK'})
def news_add(): form = NewsForm() if form.validate_on_submit(): session = db_session.create_session() news = News( title=form.title.data, content=form.content.data, user_id=current_user.id ) session.add(news) session.commit() return redirect('/news') return render_template('news_add.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 create_news(): if not request.json: return jsonify({'error': 'Empty request'}) elif not all(key in request.json for key in ['title', 'content', 'user_id']): return jsonify({'error': 'Bad request'}) session = db_session.create_session() news = News(title=request.json['title'], content=request.json['content'], user_id=request.json['user_id']) session.add(news) session.commit() return jsonify({'success': 'OK'})
def post(self): args = postParser.parse_args() session = db_session.create_session() check_api_key(session, args['api_key']) news = News( title=args['title'], content=args['content'], user_id=session.query(User).filter( User.api_key == args['api_key']).first().id, ) session.add(news) session.commit() return jsonify({'success': 'OK'})
def create_news(): if not flask.request.json: return flask.jsonify({'error': 'Empty request'}) elif not all(key in flask.request.json for key in ['title', 'content', 'user_id', 'is_private']): return flask.jsonify({'error': 'Bad request'}) db_sess = db_session.create_session() news = News(title=flask.request.json['title'], content=flask.request.json['content'], user_id=flask.request.json['user_id'], is_private=flask.request.json['is_private']) db_sess.add(news) db_sess.commit() return flask.jsonify({'success': 'OK'})
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 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() 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 print("ok ") current_user.news.append(news) db_sess.merge(current_user) db_sess.commit() print("Ok2") 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 put(self): args = putParser.parse_args() session = db_session.create_session() check_api_key(session, args['api_key']) abort_if_news_not_found(args['id']) news = session.query(News).get(args['id']) newNews = News(id=news.id, title=args['title'], content=args['content'], user_id=news.user_id, created_date=news.created_date) session.delete(news) session.add(newNews) session.commit() return jsonify({'success': 'OK'})
def main(): db_session.global_init("db/comments.sqlite") db_sess = db_session.create_session() db_sess.add(News('Test', 'Text', '', 1)) db_sess.commit() for user in db_sess.query(User).all(): print(user) users = db_sess.query(User).filter(User.about.contains('пользоват'), User.id != 1, User.id % 2 != 0).all() for user in users: print(user) #app.register_blueprint(api.blueprint) app.run()
def add_news(): if not current_user.is_authenticated: return redirect('/login') if current_user.roles.name != 'admin': return redirect('/') form = AddNewsForm() form.hidden_tag() if form.validate_on_submit(): session = create_session() news = add_data(form, News()) session.add(news) session.commit() return redirect('/') return render_template('add_news_form.html', form=form, data=None)