def post_edit(request, pk): post = get_object_or_404(Post, pk=pk) photo = post.photo if request.method == 'POST': form = PostForm(request.POST, instance=post) if request.FILES.get('image'): # 画像が送信されている場合は、新規保存を試みる photo_form = PhotoForm(request.POST, request.FILES) if photo_form.is_valid(): photo = photo_form.save() if form.is_valid(): post = form.save(commit=False) post.author = request.user post.published_date = timezone.now() post.photo = photo post.save() form.save_m2m() return redirect('blog:post_detail', pk=post.pk) else: form = PostForm(instance=post) photo_form = PhotoForm(instance=photo) return render(request, 'blog/post_edit.html', { 'form': form, 'photo_form': photo_form })
def post_edit(request, pk): post = get_object_or_404(Post, pk=pk) if request.method == "POST": form = PostForm(request.POST or None, instance=post) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.published_date = timezone.now() posts = Ingredient.objects.all() post_numder = post.pk for ing in request.POST.getlist('ingredients'): theing = Ingredient.objects.get(pk=ing) post.ingredients.add(theing.id) post.save() form.save_m2m() # messages.success(request, "<a href='#'>Item</a> Saved", extra_tags='html_safe') # return HttpResponseRedirect(instance.get_absolute_url()) context = { "title": post.title, "instance": post, "form": form, "posts":posts, } # return render(request, 'blog/post_edit.html', context) return redirect('post_detail', pk=post.pk) else: form = PostForm(instance=post) posts = Ingredient.objects.all() return render(request, "blog/post_edit.html", {'form': form, 'posts': posts})
def post_update(request, pk): post = get_object_or_404(Post, pk=pk) # If request is POST, create a bound form(form with data) if request.method == "POST": f = PostForm(request.POST, instance=post) if f.is_valid(): # if author is not selected and user is superuser, then assign the post to the author named staff if request.POST.get('author') == "" and request.user.is_superuser: updated_post = f.save(commit=False) author = Author.objects.get(user__username='******') updated_post.author = author updated_post.save() f.save_m2m() # if author is selected and user is superuser elif request.POST.get('author') and request.user.is_superuser: updated_post = f.save() # if user is not a superuser else: updated_post = f.save(commit=False) updated_post.author = Author.objects.get( user__username=request.user.username) updated_post.save() f.save_m2m() messages.add_message(request, messages.INFO, 'Post updated') return redirect(reverse('post_update', args=[post.id])) # if request is GET the show unbound form to the user else: f = PostForm(instance=post) return render(request, 'cadmin/post_update.html', { 'form': f, 'post': post })
def post_new(request): args = {} if request.method == 'POST': form = PostForm(request.POST or None, request.FILES) if form.is_valid(): post = form.save(commit=False) post.author = request.user i=0 ingredients1 = Ingredient.objects.all() post.published_date = timezone.now() print(request.POST.getlist('quantity')) for item in request.POST.getlist('quantity'): i=i+1 if int(item) !=0: w = Wasted.objects.all().get(pk=i) w.weight = int(item) w.save() if Ingredient.objects.all().get(name=w.name, pk=i).weight >0: ingr = Ingredient.objects.all().get(name=w.name, pk=i) ingr.weight = ingr.weight - w.weight ingr.save() else: args['login_error'] = "нет на складе продукта" args['login_error'] = args['login_error']+w.name return render_to_response('post_new', args) post.save() form.save_m2m() # post.ingredients() return redirect('post_detail', pk=post.pk) else: form = PostForm() posts = Ingredient.objects.all() return render(request, 'blog/post_edit.html', {'form': form, 'posts': posts})
def post_update(request, pk): post = get_object_or_404(Post, pk=pk) if request.method == "POST": f = PostForm(request.POST, instance=post) slug = slugify(request.POST['title']) if f.is_valid(): r = f.save(commit=False) p = Post.objects.filter(slug__startswith=slug) if post not in p: if not len(p): r.slug = slug else: r.slug = slug + '-{}'.format(len(p)) r.save() f.save_m2m() messages.add_message(request, messages.INFO, 'Post updated.') return redirect( reverse('blog:post_detail', kwargs={ 'pk': post.id, 'post_slug': post.slug })) else: f = PostForm(instance=post) return render(request, 'cadmin/post_update.html', { 'form': f, 'post': post })
def post_add(request): if request.method == "POST": f = PostForm(request.POST) if f.is_valid(): # if author is not selected and user is superuser, then assign the post to staff if request.POST.get('author') == "" and request.user.is_superuser: new_post = f.save(commit=False) author = Author.objects.get(user__username='******') new_post.author = author new_post.save() f.save_m2m() # if author is selected and user is superuser elif request.POST.get('author') and request.user.is_superuser: new_post = f.save() # if user is not a superuser else: new_post = f.save(commit=False) new_post.author = Author.objects.get( user__username=request.user.username) new_post.save() f.save_m2m() messages.add_message(request, messages.INFO, 'Post added') return redirect('post_add') else: f = PostForm() return render(request, 'cadmin/post_add.html', {'form': f})
def add_edit_post(request, slug=None): if request.method == 'GET': form = PostForm() if slug: # If editing post = get_object_or_404(Post, slug=slug) if request.user.is_staff or request.user == post.author: form = PostForm(instance=post) else: raise PermissionDenied else: # POST if not slug: form = PostForm(request.POST) else: form = PostForm(request.POST, instance=get_object_or_404(Post, slug=slug)) if form.is_valid(): instance = form.save(commit=False) if not getattr(instance, 'author'): instance.author = request.user if not request.user.is_staff: instance.approved = False instance.text = clean_untrusted_tags(instance.text) instance.save() form.save_m2m() return render(request, 'add_post_success.html', {}) return render(request, 'add_edit_post.html', { 'form': form, 'edit': slug is not None })
def post_add(request): #If request is POST, create a bound forms if request.method == 'POST': f = PostForm(request.POST) if f.is_valid(): if request.POST.get('author') == '' and request.user.is_superuser: new_post = f.save(commit=False) author = Author.objects.get(user__username='******') new_post.author = author new_post.save() f.save_m2m() elif request.POST.get('author') and request.user.is_superuser: new_post = f.save() else: new_post = f.save(commit=False) new_post.author = Author.objects.get( user__username=request.user.username) new_post.save() f.save_m2m() messages.add_message(request, messages.INFO, 'Post added') return redirect('post_add') else: print(f.errors) #if form is valid, save data to database, redirect back to post_add view #if request is GET, show unbound form else: f = PostForm() return render(request, 'cadmin/post_add.html', {'form': f})
def post(self, request, booklog_id): booklog = get_object_or_404(BookLog, pk=booklog_id) post_form = PostForm(request.POST, request.FILES) if post_form.is_valid(): instance = post_form.save(commit=False) instance.blog_author = request.user instance.content_type = ContentType.objects.get_for_model(BookLog) instance.content_object = booklog instance.object_id = booklog.id instance.save() post_form.save_m2m() return HttpResponseRedirect(instance.get_absolute_url()) return self.get(request, booklog_id)
def post_new(request): if request.method == 'POST': form = PostForm(request.POST) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.save() form.save_m2m() return redirect('blog:post_detail', pk=post.pk) else: form = PostForm() return render(request, 'blog/post_edit.html', {'form': form})
def create_post(request): form = PostForm(data=request.POST or None) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.save() post.tags.set(form.cleaned_data.get('tags')) form.save_m2m() messages.info(request, 'Your post has been created') return redirect('post_list') else: form = PostForm() return render(request, 'blog/post_create.html', {'form': form})
def post_edit(request, pk): post = get_object_or_404(Post, pk=pk) if request.method == 'POST': form = PostForm(request.POST, instance=post) if form.is_valid(): post = form.save(commit=False) post.author = request.user # post.published_date = timezone.now() post.save() form.save_m2m() return redirect('blog:post_detail', pk=post.pk) else: form = PostForm(instance=post) return render(request, 'blog/post_edit.html', {'form': form})
def add_post(request): if request.method == "POST": form = PostForm(request.POST, request.FILES) if form.is_valid(): item = form.save(commit=False) item.author = request.user item.save() form.save_m2m() return redirect(item.get_absolute_url()) else: form = PostForm() return render(request, 'blog/post_form.html', { 'form': form, 'title': 'Add Post' })
def post_new(request): if request.user.is_superuser: if request.method != 'POST': form = PostForm() context = {'form': form} return render(request, 'blog/post_new.html', context) else: form = PostForm(data=request.POST) if form.is_valid(): new_post = form.save(commit=False) new_post.author = request.user new_post.publish() form.save_m2m() return redirect('blog:post_detail', slug=new_post.slug) else: return HttpResponseNotFound('<h1>Superuser Permission Required!</h1>')
def post_edit(request, slug): if request.user.is_superuser: post = get_object_or_404(Post, slug=slug) if request.method != 'POST': form = PostForm(instance=post) context = {'form': form, 'post': post} return render(request, 'blog/post_edit.html', context) else: form = PostForm(instance=post, data=request.POST) if form.is_valid(): edit_post = form.save(commit=False) edit_post.author = request.user edit_post.publish() form.save_m2m() return redirect('blog:post_detail', slug=edit_post.slug) else: return HttpResponseNotFound('<h1>Superuser Permission Required!</h1>')
def post_update(request, pk): post = get_object_or_404(Post, pk=pk) # if request is POST, create a bound form (form with data) if request.method == "POST": f = PostForm(request.POST, instance=post) # check whether form is valid or not # if the form is valid, save the data to the database # and redirect the user back to the update post form # if form is invalid show form with errors again if f.is_valid(): # if author is not selected and user is superuser, then assign post to author named admin if request.POST.get('author') == "" and request.user.is_superuser: updated_post = f.save(commit=False) author = Author.objects.get(user__username="******") updated_post.author = author updated_post.save() f.save_m2m() # if author is selected and user is superuser elif request.POST.get('author') and request.user.is_superuser: updated_post = f.save() # if user is not a superuser else: updated_post = f.save(commit=False) updated_post.author = Author.objects.get( user__username=request.user.username) updated_post.save() f.save_m2m() messages.add_message(request, messages > INFO, 'Post updated') return redirect(reverse('post_update', args=[post.id])) # if request is GET show unbound form to the user else: f = PostForm(instance=post) return render(request, 'cadmin/post_update.html', { 'form': f, 'post': post })
def post_add(request): # if request is POST, create a bound form (form with data) if request.method == "POST": f = PostForm(request.POST) # check whether form is valid # if valid, save data to database # redirect user back to add post form # if form is invalid show form with errors if f.is_valid(): # if author is not selected and user is superuser, then assign the post to the author named admin if request.POST.get('author') == "" and request.user.is_superuser: new_post = f.save(commit=False) author = Author.objects.get(user__username='******') new_post.author = author new_post.save() f.save_m2m() # if author is selected and user is superuser elif request.POST.get('author') and request.user.is_superuser: new_post = f.save() # if user is not a superuser else: new_post = f.save(commit=False) new_post.author = Author.objects.get( user__username=request.user.username) new_post.save() f.save_m2m() messages.add_message(request, messages.INFO, 'Post Added') return redirect('post_add') # if request is GET then show unbound form to user else: f = PostForm() return render(request, 'cadmin/post_add.html', {'form': f})
def post_add(request): if request == 'POST': f = PostForm(request.POST) slug = slugify(request.POST['title']) if f.is_valid(): r = f.save(commit=False) r.slug = slug l = len(Post.objects.filter(slug__startswith=slug)) if l: slug = slugify(slug + ' ' + str(l)) r.slug = slug r.save() else: r.save() f.save_m2m() messages.add_message(request, messages.INFO, 'Post added.') print() p = Post.objects.get(slug=slug) return redirect(reverse('blog:post_detail', args=[p.id, p.slug])) else: f = PostForm() return render(request, 'cadmin/post_add.html', {'form': f})
def post_new(request): if request.method == 'POST': form = PostForm(request.POST) photo = None if request.FILES.get('image'): photo_form = PhotoForm(request.POST, request.FILES) if photo_form.is_valid(): photo = photo_form.save() if form.is_valid(): post = form.save(commit=False) post.author = request.user post.published_date = timezone.now() post.photo = photo post.save() form.save_m2m() return redirect('blog:post_detail', pk=post.pk) else: form = PostForm() photo_form = PhotoForm() return render(request, 'blog/post_edit.html', { 'form': form, 'photo_form': photo_form })
def post_update(request, pk): post = get_object_or_404(Post, pk=pk) if request.method == 'POST': f = PostForm(request.POST, instance=post) if f.is_valid(): if request.POST.get('author') == '' and request.user.is_superuser: updated_post = f.save(commit=False) updated_post.author = Author.objects.get( user__username='******') updated_post.save() f.save_m2m() elif request.POST.get('author') and request.user.is_superuser: f.save() else: updated_post = f.save(commit=False) updated_post.author = Author.objects.get( user__username=request.user.username) updated_post.save() f.save_m2m() messages.add_message(request, messages.INFO, 'Post updated') return redirect('post_update', pk=pk) else: print(f.errors) #If request is GET, prepopulate with current post data else: f = PostForm(instance=post) return render(request, 'cadmin/post_update.html', { 'form': f, 'post': post })