def post(request, post_id=None): """ Displays, creates or updates a blog post. """ post = None if post_id: post = get_object_or_404(BlogPost.objects.all(), pk=post_id) if request.method == 'POST': form = BlogPostForm(request.POST, instance=post) if form.is_valid(): post = form.save() return SerializeOrRedirect(reverse('list_posts'), {'post': post}) else: return SerializeOrRender('blog/post.html', {'post': post}, extra={'form': form}, status=CR_INVALID_DATA) else: form = BlogPostForm(instance=post) return SerializeOrRender('blog/post.html', {'post': post}, extra={'form': form})
def new_post(request): if request.method == "POST": form = BlogPostForm(request.POST, request.FILES) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.published_date = timezone.now() post.save() return redirect(post_detail, post.pk) else: form = BlogPostForm() return render(request, 'blogpostform.html', {'form': form})
def edit_post(request, id): post = get_object_or_404(Post, pk=id) if request.method == "POST": form = BlogPostForm(request.POST, request.FILES, instance=post) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.published_date = timezone.now() post.save() return redirect(post_detail, post.pk) else: form = BlogPostForm(instance=post) return render(request, 'blogpostform.html', {'form': form})
def new(request, template_name='blog/new_or_edit.html'): if request.method == 'POST': form = BlogPostForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect("/") else: form = BlogPostForm() template_context = {'form': form} return render_to_response(template_name, template_context, RequestContext(request))
def edit(request, slug, template_name='blog/new_or_edit.html'): post = BlogPost.objects.get(slug=slug) if request.method == 'POST': form = BlogPostForm(request.POST, instance=post) if form.is_valid(): form.save() return HttpResponseRedirect(post.get_absolute_url()) else: form = BlogPostForm(instance=post) template_context = {'form': form} return render_to_response(template_name, template_context, RequestContext(request))
def add_post(request): '''Add new blogpost''' form = BlogPostForm(request.POST or None) if request.method == 'POST' and form.is_valid(): new_post = form.save(commit=False) new_post.user_id = request.user.id new_post.save() if form.cleaned_data['tags']: list_tags = request.POST['tags'].split(',') list_tags = [tag.strip() for tag in list_tags] list_tags = set(list_tags) if len(list_tags) > 10: return HttpResponse('Amount of tags can\'t be more than 10!') for tag in list_tags: if tag: new_tag, created = Tag.objects.get_or_create(name=tag) new_post.tag.add(new_tag.id) return redirect('blog:list_of_posts') else: context = RequestContext(request) return render_to_response('blog/add_post.html', {'form': form}, context)
def home(): storage = Storage() if request.method == 'POST': form = BlogPostForm(request.form) if form.validate(): model = BlogPostModel(form.data) storage.appending(model.model_to_dict()) else: logger.error('Someone have submitted an incorrect form!') else: form = BlogPostForm() return render_template( 'home.html', form=form, items=storage.posts, )
def add_comment(request, blogpost_id, pid=0): ''' add comment to blogpost pid=0 means that comment haven't any parents comment ''' form = BlogPostCommentForm(request.POST) if form.is_valid(): post = get_object_or_404(BlogPost, pk=blogpost_id) new_comment = form.save(commit=False) new_comment.user_id = request.user.id new_comment.post_id = blogpost_id new_comment.parent_comment = pid new_comment.save() post.increment_count_comments() form = BlogPostForm(request.POST or None) form = BlogPostForm(request.POST or None) form = BlogPostForm(request.POST or None) return redirect(reverse('blog:show_post', args=[blogpost_id]))
def home(): storage = Storage() all_items = storage.items if request.method == 'POST': form = BlogPostForm(request.form) if form.validate(): model = BlogPostModel(form.data, len(all_items) + 1) all_items.append(model) storage.save() else: logger.error('Someone have submitted an incorrect form!') else: form = BlogPostForm() return render_template( 'home.html', form=form, items=all_items, )
def ajax(): form = BlogPostForm() if request.method == 'POST': # and form.validate(): post = Post(user=current_user, title=form.title.data, content=form.content.data) print(post) current_session.add(post) current_session.commit() return jsonify( post.title, post.content, current_user.name ) #{'success':True}), 200, {'ContentType':'application/json'} #, 'Post created!' if request.method == 'GET': return jsonify(current_user.name) return 'Invalid form'
def post(): form = BlogPostForm(request.form) if request.method == 'POST': if form.validate(): post = Post(user=form.author.data, title=form.title.data, content=form.content.data) current_session.add(post) current_session.commit() flash('Post created!') return redirect(url_for('post')) else: flash('Form is not valid! Post was not created.') posts = current_session.query(Post).all() return render_template('post.html', form=form, posts=posts)
def editposts(): error = None form = BlogPostForm() if request.method == 'POST': if form.validate_on_submit(): new_post = Post( form.subject.data, form.header.data, form.digest.data, form.body.data, ) db.session.add(new_post) db.session.commit() flash(u'پست ثبت شد!!') return render_template('postedit.html', form=form, error=error)
def save(): form = BlogPostForm() if form.validate_on_submit(): if request.form['action'] == 'draft': print('Saving to redis') redis_client.set(form.title.data, form.body.data) else: print('Saving to postgres') model = Post() model.title = form.title.data model.body = form.body.data model.date = form.date.data model.author = form.author.data db.session.add(model) db.session.commit() return render_template('new.html', form=form)
def get(self, post_id=None, **kwargs): """Return a post to edit or an empty form to create""" template = 'admin/blog/new.html' context = { 'form': self.form, } # render edit if post_id is not None: post = BlogPost.get_by_id(post_id) if post: self.form = BlogPostForm(obj=post) self.form.tags.data = ', '.join(post.tags) context.update({'form': self.form}) template = 'admin/blog/edit.html' else: return redirect('admin/blog/') # render new return self.render_response(template, **context)
def profile(id): form = BlogPostForm() if id == current_user.id and request.method == 'GET': posts = current_session.query(Post).filter( Post.user == current_user).all() return render_template('post.html', form=form, posts=posts) elif request.method == 'POST' and id == current_user.id and form.validate( ): post = Post(user=current_user, title=form.title.data, content=form.content.data) current_session.add(post) current_session.commit() flash('post_created') route_to = '/profile/' + str(current_user.id) return redirect(route_to) else: return redirect(url_for('login_route.login'))
def edit_post(request, pk): post = get_object_or_404(BlogPost, pk=pk) context = RequestContext(request) if not request.user.id == post.user.id: title = 'Error!' message = 'You\'re not the author of this post!' return render_to_response('basesite/notification.html', {'title': title, 'message': message}, context) if request.method == "POST": add_post(request) else: form = BlogPostForm() return render_to_response('blog/add_post.html', {'form': form, 'post':post.body, 'post_title':post.title, 'post_tags':post.tag }, context)
def create(): date = datetime.datetime.now() form = BlogPostForm() if form.validate_on_submit(): filename = secure_filename(form.image.data.filename) form.image.data.save('project/static/images/' + filename) image_link = 'static/images/' + filename new_post = BlogPost(form.title_header.data, form.title_long.data, form.content.data, form.tag.data, date, image_link, current_user.id, form.author_name_manual.data) db.session.add(new_post) db.session.commit() flash('New entry was successfully posted. Thanks.') return redirect(url_for('home.create')) else: filename = None posts = db.session.query(BlogPost).all() return render_template('create.html', posts=posts, form=form, error=error, filename=filename)
def new(): form = BlogPostForm() return render_template('new.html', form=form)
def form(self): """Form instance as cached_property""" return BlogPostForm(self.request)