def add_post(request): if request.method == 'POST': form = BlogPostForm(request.POST) if form.is_valid(): new_post = BlogPost( title=form.cleaned_data['title'], content=form.cleaned_data['content'], published=True, author=request.user ) new_post.save() return redirect('view_posts', post_id=new_post.id) else: form = BlogPostForm() return render( request, 'add_post.html', { 'form': form, } )
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 create_update_post(request, pk=None): post = None if pk: post = get_object_or_404(BlogPost, pk=pk) if not request.user.has_perm("blog.change_blogpost", post): return HttpResponseForbidden() else: if not request.user.has_perm("blog.add_blogpost"): return HttpResponseForbidden() # Do an update. if request.method == 'POST': form = BlogPostForm(request.POST, instance=post) if form.is_valid(): # All validation rules pass post = form.save(commit=False) post.user = request.user post.save() assign('blog.view_blogpost', request.user, post) assign('blog.change_blogpost', request.user, post) assign('blog.delete_blogpost', request.user, post) return redirect(reverse('view_post', args=[post.id])) else: form = BlogPostForm(instance=post) # An unbound form # Return the crud page. return render_to_response('blog/create_edit_post.xhtml', { 'post': post, 'form': form }, context_instance=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 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_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_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(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 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 process_create(self, request, context, *args, **kwargs): form = BlogPostForm() if request.POST: form = BlogPostForm(request.POST) if form.is_valid(): p = create_post(context['user'], form.cleaned_data) cache_invalidate('written') # Serve up the new row return HttpResponseRedirect(urlresolvers.reverse('admin_plugin_action', args=(context['plugin_slug'], 'posts'))) else: return FormErrorResponse(form, id='create_form') target_url = urlresolvers.reverse('admin_plugin_action', args=(context['plugin_slug'], 'create')) return FormResponse(form, id='create_form', title="Create a new Blog Post", target_url=target_url, target_action='create')
def add_post(request): context = RequestContext(request) if request.method == 'POST': form = BlogPostForm(request.POST) if form.is_valid(): blog = BlogPost() blog.author = request.user blog.title = request.POST['title'] blog.bodytext = request.POST['bodytext'] blog.save() messages.add_message(request, SUCCESS, 'Post Added') return HttpResponseRedirect('/main/blog/') else: messages.add_message(request, SUCCESS, 'Enter a valid Post') return HttpResponseRedirect('/main/add/') else: form = BlogPostForm() return render_to_response('blog/add.html', {'form': form}, context)
def process_edit(self, request, context, *args, **kwargs): post_keystr = request.REQUEST['post_key'] if not post_keystr: raise RuntimeError('No argument post_key provided.') post_key = ndb.Key(urlsafe=post_keystr) post = post_key.get() initial_data = { 'slug': post.slug, 'summary': post.summary, 'title': post.title, 'content': post.content, 'publish': bool(post.published_date), 'categories': [c_key.urlsafe() for c_key in post.categories], 'primary_media_image' : post.primary_media_image.urlsafe() if post.primary_media_image else '' } form = BlogPostForm(initial=initial_data) if request.POST: form = BlogPostForm(request.POST, initial=initial_data) if form.is_valid(): p = edit_post(context['user'], post, form.cleaned_data) cache_invalidate('written') # Serve up the new row return HttpResponseRedirect(urlresolvers.reverse('admin_plugin_action', args=(context['plugin_slug'], 'posts'))) else: return FormErrorResponse(form, id='create_form') target_url = "%s?post_key=%s" % (urlresolvers.reverse('admin_plugin_action', args=(context['plugin_slug'], 'edit')), post_key.urlsafe()) return FormResponse(form, id='edit_form', title="Edit Blog Post", target_url=target_url, target_action='edit')