def edit_story(story_id): form = PostForm() story = Story.query.get(story_id) if form.validate_on_submit(): story.title = form.title.data story.content = form.post.data story.author = current_user story.tags = tag_request(request.form['tags']) media = media_request(request.files) for medium in media['photo']: img = Media(type='Image', name=medium['filename'], filename=medium['filename'], url=medium['url'], related_story=story) db.session.add(img) db.session.add(story) db.session.commit() flash('Your story is now updated') return redirect(url_for('main.index')) elif request.method == 'GET': form.title.data = story.title form.post.data = story.html_content tag_placeholders = ', '.join([t.name for t in story.tags]) return render_template('story.html', title="What's new?", form=form, story=story, tags=tag_placeholders)
def index(): form = PostForm() if form.validate_on_submit(): language = guess_language(form.post.data) if language == 'UNKNOWN' or len(language) > 5: language = '' post = Post(body=form.post.data, author=current_user, language=language) db.session.add(post) db.session.commit() flash(_('Your post is now live!')) return redirect(url_for('main.index')) page = request.args.get('page', 1, type=int) posts = current_user.followed_posts().paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.index', page=posts.next_num) \ if posts.has_next else None prev_url = url_for('main.index', page=posts.prev_num) \ if posts.has_prev else None return render_template('index.html', title=_('Home'), form=form, posts=posts.items, next_url=next_url, prev_url=prev_url)
def index(): form = PostForm() if form.validate_on_submit(): language = guess_language(form.post.data) if language == 'UNKNOWN' or len(language) > 5: language = '' post = Post(body=form.post.data, author=current_user, language=language) db.session.add(post) db.session.commit() flash(_('Your post is now live!')) return redirect(url_for('main.index')) # pagination page = request.args.get('page', 1, type=int) posts = current_user.followed_posts().paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.index', page=posts.next_num) if posts.has_next else None prev_url = url_for('main.index', page=posts.prev_num) if posts.has_prev else None """ render_template() invokes the Jinja2 template engine that comes bundled with the Flask framework, substituting {{ ... }} blocks with the corresponding values, given by the arguments provided in the render_template() call.""" return render_template('index.html', title=_('Home'), form=form, posts=posts.items, next_url=next_url, prev_url=prev_url)
def story(): form = PostForm() if form.validate_on_submit(): media = media_request(request.files) tags = tag_request(request.form['tags']) story = Story(title=form.title.data, content=form.post.data, author=current_user, tags=tags) for medium in media['photo']: img = Media(type='Image', name=medium['filename'], filename=medium['filename'], url=medium['url'], related_story=story) db.session.add(img) db.session.add(story) db.session.commit() flash('Your story is now published') return redirect(url_for('main.index')) return render_template('story.html', form=form)