def create_article(request): if request.user.is_authenticated: user = get_object_or_404(User, id=request.user.id) author_profile = author.objects.filter(name=user.id) # check if user has pic profile if author_profile: #if user has pic profile form = createForm(request.POST or None, request.FILES or None) if form.is_valid(): instance = form.save(commit=False) instance.save() return render(request, 'home/post.html', { "form": form, 'full_name': request.user.username }) # if user has not pic profile else: form = createAuthor(request.POST or None, request.FILES or None) if form.is_valid(): ins = form.save(commit=False) ins.name = user ins.save() return HttpResponseRedirect('/') return render(request, 'home/avatar.html', {"form": form}) else: HttpResponseRedirect('/login')
def publish(request): ImageFormSet = modelformset_factory(MyltiImage, form=ImageForm, extra=3) #'extra' means the number of photos that you can upload ^ if request.user.is_authenticated: user = get_object_or_404(User, id=request.user.id) author_profile = author.objects.filter(name=user.id) authorUser = get_object_or_404(author, name=request.user.id) formset = ImageFormSet(request.POST or None, request.FILES or None, queryset=MyltiImage.objects.none()) form = createForm(request.POST or None, request.FILES or None) if form.is_valid() and formset.is_valid(): instance = form.save(commit=False) # pass instance author instance.avatar = authorUser # pass instance user login instance.article_author = request.user instance.save() for form in formset.cleaned_data: #this helps to not crash if the user #do not upload all the photos if form: image = form['image'] photo = MyltiImage(post=instance, image=image) photo.save() #pass from data base to template messages.success(request, 'تم نشر المقال', extra_tags='Done') redirect_to = reverse('blogArabic:show_article', kwargs={'id': instance.id}) return redirect(redirect_to) return render( request, 'home/index.html', { 'form': form, 'formset': formset, 'user': authorUser, 'full_name': request.user.username }) else: return HttpResponseRedirect('/login')
def create_article(request): ImageFormSet = modelformset_factory(MyltiImage, form=ImageForm, extra=3) #'extra' means the number of photos that you can upload ^ if request.user.is_authenticated: user = get_object_or_404(User, id=request.user.id) author_profile = author.objects.filter(name=user.id) # check if user has pic profile if author_profile: formset = ImageFormSet(request.POST or None, request.FILES or None, queryset=MyltiImage.objects.none()) #if user has pic profile form = createForm(request.POST or None, request.FILES or None) if form.is_valid() and formset.is_valid(): instance = form.save(commit=False) instance.save() return render( request, 'home/post.html', { "form": form, 'formset': formset, 'full_name': request.user.username }) # if user has not pic profile else: form = createAuthor(request.POST or None, request.FILES or None) if form.is_valid(): ins = form.save(commit=False) ins = formset.save(commit=False) ins.name = user ins.save() return HttpResponseRedirect('/') return render(request, 'home/avatar.html', {"form": form}) else: HttpResponseRedirect('/login')
def getUpdate(request, pid): if request.user.is_authenticated: u = get_object_or_404(author, name=request.user.id) post = get_object_or_404(articles, id=pid) form = createForm(request.POST or None, request.FILES or None, instance=post) # delete the first article post.delete() # save the update article if form.is_valid(): instance = form.save(commit=False) instance.article_author = request.user instance.avatar = u instance.save() return HttpResponseRedirect('/profile') return render(request, 'home/post.html', {"form": form}) else: return render_to_response('home/login.html')
def publish(request): if request.user.is_authenticated: user = get_object_or_404(User, id=request.user.id) author_profile = author.objects.filter(name=user.id) authorUser = get_object_or_404(author, name=request.user.id) form = createForm(request.POST or None, request.FILES or None) if form.is_valid(): instance = form.save(commit=False) # pass instance author instance.avatar = authorUser # pass instance user login instance.article_author = request.user instance.save() #pass from data base to template messages.success(request, 'تم نشر المقال', extra_tags='Done') redirect_to = reverse('blogArabic:show_article', kwargs={ 'id': instance.id, 'slug': instance.slug }) return redirect(redirect_to) return render(request, 'home/index.html', { 'form': form, 'user': authorUser, 'full_name': request.user.username }) else: return HttpResponseRedirect('/login')