Ejemplo n.º 1
0
def post_create(request):
    # # 로그인이 되어있는 상태인지 확인해야 한다.
    # if not request.user.is_authenticated():
    #     return redirect('member:login')
    if request.method == 'POST':
        form = PostForm(data=request.POST, files=request.FILES)
        if form.is_valid():
            # Form 안에서 comment저장을 하기 위해 author를 인수로 할당하고
            # 원래 author를 추가로 저장하기 위해 설정했던 commit=False는 삭제
            post = form.save(author=request.user)

            # PostForm에 comment가 전달되었을 경우 Comment객체 생성
            # comment_string = form.cleaned_data['comment']
            # if comment_string:
            #     post.comment_set.create(
            #         author=request.user,
            #         content=comment_string,
            #     )
            return redirect('post:post_detail', post_pk=post.pk)
        else:
            context = {
                'form': form,
            }
            return render(request, 'post/post_create.html', context)
    else:
        form = PostForm()
    context = {
        'form': form,
    }
    return render(request, 'post/post_create.html', context)
Ejemplo n.º 2
0
def post_create(request):
    # 로그인한 유저만 접근 및 POST요청 가능
    if not request.user.is_authenticated:
        return redirect('member:login')

    if request.method == 'POST':
        # POST요청의 경우 PostForm인스턴스 생성과정에서 request.POST, request.FILES를 사용
        form = PostForm(request.POST, request.FILES)
        # 만약 form이 유효성검사를 통과헀다면 true리턴
        if form.is_valid():
            # 유효할 경우 Post인스턴스를 생성 및 저장
            post = Post.objects.create(
                author=request.user,
                photo=form.cleaned_data['photo'],
            )
            return redirect('post:post_list')

    else:
        # GET 요청의 경우 빈 PostForm인스턴스를 생성해서 템플릿에 전달
        form = PostForm()

    # GET 요청에선 이 부분이 무조건 실행
    # POST 요청에선 form.is_valid()를 통과하지 못하면 이 부분이 실행
    context = {
        'form': form,
    }
    return render(request, 'post/post_create.html', context)
Ejemplo n.º 3
0
def post_modify(request, post_pk):
    post = Post.objects.get(pk=post_pk)
    next = request.GET.get('next')
    # if request.method == 'GET':
    #     forms = ModifyPost(initial={'image': post.image})
    #     context = {
    #         'forms': forms,
    #         'post': post,
    #     }
    #     return render(request, 'post/post_modify.html', context=context)
    #
    # elif request.method == 'POST':
    #     forms = ModifyPost(request.POST, request.FILES)
    #     if forms.is_valid():
    #         post.image = request.FILES['image']
    #         post.save()
    #         return redirect('post:post_detail', post_pk=post.id)
    if request.method == 'POST':
        form = PostForm(data=request.POST, files=request.FILES, instance=post)
        if form.is_valid():
            form.save()
            if next:
                return redirect(next)
            return redirect('post:post_detail', post_pk)
    else:
        form = PostForm(instance=post)
    context = {
        'form': form,
    }
    return render(request, 'post/post_modify.html', context=context)
Ejemplo n.º 4
0
def post_add(request):
    def create_post_comment(file, comment_content):
        post = Post(author=request.user, photo=file)
        post.save()

        if comment_content != '':
            post.add_comment(request.user, comment_content)

    if request.method == 'POST':
        form = PostForm(request.POST, request.FILES)
        if form.is_valid():
            files = request.FILES.getlist('photo')
            comment_content = form.cleaned_data.get('content', '').strip()

            for file in files:
                create_post_comment(file, comment_content)

            return redirect('post:list')
    else:
        form = PostForm()

    context = {
        'form': form,
    }
    return render(request, 'post/post_add.html', context)
Ejemplo n.º 5
0
def adminposts(request):
    posts = Post.objects.all()
    postform = PostForm()
    args = {'posts' : posts, 'postform' : postform}
    if request.method == "POST":
        postform = PostForm(request.POST, request.FILES)
        if postform.is_valid():
            postform.save()
        else:
            print("errors : {}".format(postform.errors.as_data()))
    return render(request, 'webadmin/pages/database/posts/index.html',args)
Ejemplo n.º 6
0
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.post_date = timezone.now()
            post.save()
            return redirect('post:post_detail', post.pk)
    else:
        form = PostForm(instance=post)
    return render(request, 'edit.html', {'form': form})
Ejemplo n.º 7
0
def save_post(request, post_id=None):
    post = post_id is None and Post(user_id=request.user.id) \
        or get_object_or_404(Post, id=post_id)
    if request.POST:
        form = PostForm(request.POST, instance=post)
        if form.is_valid():
            form.save()
            return redirect('edit_post', post.id)
    else:
        form = PostForm(instance=post)
    images = Image.objects.filter(user_id=request.user.id)
    form.new = post_id is None or False
    return render(request, 'post/form.html', {'form': form, 'images': images})
Ejemplo n.º 8
0
def post_modify(request, post_pk):
    post = Post.objects.get(pk=post_pk)
    if request.method == "POST":
        form = PostForm(data=request.POST, files=request.FILES, instance=post)
        if form.is_valid():
            form.save()
        return redirect('post:post_detail', post_pk=post.pk)
    else:
        form = PostForm(instance=post)
        context = {
            'form': form,
        }
        return render(request, 'post/post_modify.html', context)
Ejemplo n.º 9
0
def post_modify(request, post_pk):
    post = get_object_or_404(Post, pk=post_pk)
    if request.method == 'POST':
        form = PostForm(data=request.POST, files=request.FILES, instance=post)
        if form.is_valid():
            post = form.save(commit=False)
            post.author = User.objects.first()
            post.save()
            return redirect('post_list')
    else:
        form = PostForm(instance=post)
    context = {'form': form}
    return render(request, 'post/post_modify.html', context=context)
Ejemplo n.º 10
0
def add(request):
    if request.method == "POST":
        form = PostForm(request.POST, request.FILES)
        if form.is_valid():
            post = form.save(commit=False)
            post.post_author = request.user
            post.post_date = timezone.now()
            post.post_status = 0
            post.save()
            return redirect('post:post_detail', post.pk)
    else:
        form = PostForm()
    return render(request, 'add.html', {'form': form})
Ejemplo n.º 11
0
def managepost(request, slug_url):
    post = get_object_or_404(Post, slug = slug_url)
    postform = PostForm(instance = post)
    args = {'postform' : postform, 'post' : post}
    if request.method == 'POST':
        postform = PostForm(request.POST, request.FILES, instance=post)
        if postform.is_valid():
            postform.save()
            args = {'postform' : postform, 'post' : post}
            return redirect('/webmaster/post/'+post.slug)
        else:
            print("errors : {}".format(postform.errors.as_data()))
    return render(request, 'webadmin/pages/manage/post/index.html',args)
Ejemplo n.º 12
0
def profile(request):
    form = PostForm()
    if request.method == 'POST':
        form = PostForm(request.POST, request.FILES)
        if form.is_valid():
            post = form.save(commit=False)
            post.author = request.user
            post.save()
            return HttpResponseRedirect(reverse('home'))
    context = {
        'title': 'User',
        'form': form
    }
    return render(request, 'login/user.html', context=context)
Ejemplo n.º 13
0
def create(request):
    if request.method == "POST":
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.created_at = timezone.now()
            post.save()
            pk = post.id
            url = reverse('post:detail', kwargs={'pk': pk})
            return redirect(to=url)
    else:
        form = PostForm()
    context = {'form': form}
    return render(request, 'post/create.html', context)
Ejemplo n.º 14
0
def post_create(request):
    form = PostForm()
    if request.method == 'POST':
        form = PostForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            new_post = Post(
                title=data['title'],
                content=data['content'],
            )
            new_post.save()
            return redirect('/')
    context = {'form': form}

    return render(request, 'post/post_create.html', context)
Ejemplo n.º 15
0
def post_create(request):
    if request.method == "POST":
        post_form = PostForm(request.POST, request.FILES)
        if post_form.is_valid():
            title = post_form.cleaned_data['title']
            photo = post_form.cleaned_data['photo']
            content = post_form.cleaned_data['content']
            Post.objects.create(title=title, photo=photo, content=content)
            return redirect('post_list')
    else:
        post_form = PostForm()
    context = {
        'post_form': post_form,
    }
    return render(request, 'post/post_create.html', context)
Ejemplo n.º 16
0
 def post(self, request):
     """
     Valida el formulario de creacion de nuevo post y lo crea.
     :param request: objeto HttpRequest con los datos de la peticion
     :return:
     """
     message = None
     post_with_user = Post(owner=request.user)
     post_form = PostForm(request.POST, instance=post_with_user)
     if post_form.is_valid():
         new_post = post_form.save()
         post_form = PostForm()
         message = "Post creado satisfactoriamente."
     context = {"form": post_form, "message": message}
     return render(request, "post/new_post.html", context)
Ejemplo n.º 17
0
def new_post(request):
    if request.method == "POST":
        form = PostForm(request.POST, request.FILES)
        if form.is_valid():
            data = form.cleaned_data
            time = timezone.now()
            new_post = Post.objects.create(author=get_object_or_404(
                Author, username=request.user.username),
                                           caption=data["caption"],
                                           image=data['image'],
                                           timestamp=time)
            new_post.save()
            return redirect(reverse("homepage"))
    form = PostForm()
    return render(request, "../templates/post/post_form.html", {"form": form})
Ejemplo n.º 18
0
def post_create(request):
    if request.method == "POST":
        form = PostForm(request.POST)
        if form.is_valid():
            comment = form.cleaned_data['comment']
            Post.objects.create(
                comment=comment,
                author=request.user,
            )
            return redirect('post_list')
    else:
        form = PostForm()
    context = {'form': form}

    return render(request, 'post/post_create.html', context)
Ejemplo n.º 19
0
def add_post(request):
    if request.method == "POST":
        form = PostForm(request.POST)
        if form.is_valid():
            cleaned_data = form.cleaned_data
            post = Post()
            post.title = cleaned_data['title']
            post.content = cleaned_data['content']
            post.image = cleaned_data['image']
            post.save()
            return redirect('post-detail', pk=post.pk)
    else:
        form = PostForm(request.FILES)

    return render(request, 'post/post_form.html', {'form': form})
Ejemplo n.º 20
0
    def get_context(self, request):
        self.post_instance = get_object_or_404(
            Post.objects_from_local_language,
            slug_title=self.kwargs.get("title"))
        self.content_instance = self.get_instance(
            Content, self.kwargs.get("content_pk"))
        if self.content_instance:
            self.image_instance = self.content_instance.get_image()
            print(self.image_instance)

        self.post_form = PostForm(instance=self.post_instance)
        self.content_form = self.get_form(request,
                                          ContentUpdateForm,
                                          instance=self.content_instance)
        self.image_form = self.get_form(request,
                                        ImageForm,
                                        instance=self.image_instance)
        context = {
            "post_form": self.post_form,
            "content_form": self.content_form,
            "post_instance": self.post_instance,
            "image_form": self.image_form,
            "content_pk": self.kwargs.get("content_pk")
        }
        return context
Ejemplo n.º 21
0
def post_create(request):
    if not request.user.is_authenticated():
        return redirect('member:login')
    if request.method == 'POST':
        form = PostForm(request.POST, request.FILES)
        if form.is_valid():
            post = form.save(commit=False)
            post.author = request.user
            post.save()
            return redirect('post:post_list')
    else:
        form = PostForm()  # GET요청의 경우, 빈 PostForm인스턴스를 생성해서 템플릿에 전달
    context = {
        'form': form,
    }
    return render(request, 'post/post_create.html', context)
Ejemplo n.º 22
0
        def get(self, request, community_url):
            """
            Representation of community page

            :param community_url: community custom_url field
            :type community_url: str
            :param request: object with request details
            :type request: :class:`django.http.HttpRequest`
            :return: responce object with HTML code
            :rtype: :class:`django.http.HttpResponse`
            :raises: :class:`django.http.Http404` if custom url not valid
            """
            context = self.get_menu_context('community', 'Сообщество')

            context['community'] = get_object_or_404(Community,
                                                     custom_url=community_url)

            post_image_form_set = modelformset_factory(PostImages,
                                                       form=PostImageForm,
                                                       extra=10,
                                                       max_num=10)

            context['postform'] = PostForm()
            context['formset'] = post_image_form_set(
                queryset=PostImages.objects.none())

            context['action_type'] = '/post/create/{}/'.format(community_url)

            return render(request, self.template_name, context)
Ejemplo n.º 23
0
def save_post(request):
    """Saves a Post

    Check if the post's island exists
    If not redirect the user to Island creation page
    If no island was included, use the default island.
    Add post to user's likes then save the post and
    return the user to a page specified with the next variable
    """
    if request.method == "POST":
        form = PostForm(request.POST)

        if form.is_valid():
            post = form.cleaned_data["post"]
            island_name = form.cleaned_data["island"]

            if island_name:
                try:
                    island = Island.get_island(island_name)
                except ObjectDoesNotExist:
                    create_form = IslandCreationForm()
                    return render(
                        request,
                        "island/island_not_created.html",
                        {
                            "form": create_form,
                            "submitted_island": island_name
                        },
                    )
            else:
                island = Island.get_island(settings.DEFAULT_ISLAND)
            post = Post(post=post, user=request.user, island=island)
            post.save()
            request.user.likes.add(post)
            return HttpResponseRedirect(request.GET.get("next", ""))
Ejemplo n.º 24
0
    def post(self, request, *args, **kwargs):
        post = PostForm(request.POST, request.FILES)
        if post.is_valid():
            post.instance.usuario = request.user
            post.save()

        return redirect('core:index')
Ejemplo n.º 25
0
def edit_post(request, post_id=None):
    if post_id is not None:
        post = get_object_or_404(Post, pk=post_id)
    else:
        post = None
    if request.method == 'POST':
        if post and 'delete' in request.POST:
            post.delete()
            return redirect('posts')
        form = PostForm(request.POST, request.FILES, instance=post)
        if form.is_valid():
            post = form.save(request.profile)
            return HttpResponseRedirect(post.get_absolute_url())
    else:
        form = PostForm(instance=post)
    return locals()
Ejemplo n.º 26
0
def create(request):
    form = PostForm(request.POST, user=request.user)
    if form.is_valid():
        post = form.save()
        return JsonResponse(post.to_client())
    else:
        return JsonResponse(form.errors, status=400)
Ejemplo n.º 27
0
def new_post(request):
    if request.method == 'POST':
        form = PostForm(data=request.POST, files=request.FILES)
        if form.is_valid():
            obj = Post(author=request.user,
                       timestamp=timezone.now(),
                       description=form.cleaned_data.get('description'),
                       image=form.cleaned_data.get('image'))
            obj.save()

            return redirect('/post/%d/' % obj.id)

    context = dict()
    context['form'] = PostForm()

    return render(request, 'post_new.html', context)
Ejemplo n.º 28
0
 def get(self, request, **kwargs: dict) -> render:
     if not Profile.objects.filter(custom_url=kwargs['user_url']).exists():
         raise Http404()
     self.context = self.get_menu_context('profile', 'Профиль')
     self.context['profile'] = Profile.objects.get(custom_url=kwargs['user_url'])
     user_item = User.objects.get(profile=Profile.objects.get(custom_url=kwargs['user_url']))
     self.context['c_user'] = user_item
     post_image_form_set = modelformset_factory(
         PostImages, form=PostImageForm, extra=10, max_num=10
     )
     pass_add_to_friends = False
     is_blacklisted = False
     if user_item != request.user:
         pass_add_to_friends = self.is_in_friend_list(pass_add_to_friends, request, user_item)
         is_blacklisted = self.is_in_blacklist(is_blacklisted, request, user_item)
     self.context['is_in_blacklist'] = is_blacklisted
     self.context['is_friend'] = True if request.user in user_item.profile.friends.all() \
                                    and request.user != user_item else False
     self.context['pass_add_to_friends'] = pass_add_to_friends
     self.context['postform'] = PostForm()
     self.context['formset'] = post_image_form_set(queryset=PostImages.objects.none())
     if not is_blacklisted:
         self.pagination_elements(
             request,
             list(reversed(user_item.profile.posts.all())),
             self.context,
             'c_user_posts'
         )
     self.context['action_type'] = reverse('profile-post-create')
     return render(request, self.template_name, self.context)
Ejemplo n.º 29
0
 def get_context(self, request):
     self.post_instance = get_object_or_404(Post.objects_from_local_language, slug_title=self.kwargs.get("title"))
     self.post_form = PostForm(instance=self.post_instance)
     self.image_form = self.get_form(request, ImageForm, None)
     self.content_form = self.get_form(request, ContentNewForm, None)
     context = {"post_form": self.post_form, "content_form": self.content_form,
                "image_form": self.image_form, "post_instance": self.post_instance}
     return context
Ejemplo n.º 30
0
def post_new(request):
    if request.method == "POST":
        # save the post form
        form = PostForm(request.POST)
        if form.is_valid():
            new_post = form.save(commit=False)
            new_post.slug = slugify(unidecode(new_post.title))
            new_post.author = request.user
            new_post.status = 'published'
            new_post.save()
            return HttpResponseRedirect('/post')
        else:
            print("invalid form")
            return render(request, 'post/new_post.html', {'form': form})
    else:
        # display the post form
        form = PostForm()
        return render(request, 'post/new_post.html', {'form': form})