Exemplo n.º 1
0
def add_article(request):
    # context = RequestContext(request)
    topic_tags, other_tags = get_tag_lists()
    current_user = request.user

    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            new_article = form.save()
            raw_tags = form.cleaned_data['tags'].split(',')
            if raw_tags:
                for raw_tag in raw_tags:
                    raw_tag = raw_tag.strip().replace(' ', '_').lower()
                    tag_name = urllib.quote(raw_tag)
                    tag, created = Tag.objects.get_or_create(name=tag_name)
                    if created:
                        tag.article_count = 1
                    else:
                        tag.article_count += 1
                    tag.save()
                    tag.articles.add(new_article)
            return redirect(index)
        else:
            print form.errors
    else:
        form = ArticleForm(initial={'author': current_user})

    context = {
        'form': form,
        'topic_tags': topic_tags,
        'other_tags': other_tags,
    }

    return render(request, 'add_article.html', context)
Exemplo n.º 2
0
def addArticle(request):
    '''
    添加文章
    :param request:
    :return:
    '''
    if request.method == "GET":
        article_form = ArticleForm()
        cate_list = models.Category.objects.filter(blog__user = request.user)
        tag_list = models.Tag.objects.filter(blog__user = request.user)

        return render(request,"addArticle.html",locals())
    if request.method == "POST":
        article_form = ArticleForm(request.POST)
        if article_form.is_valid():
            title = article_form.cleaned_data.get("title")
            content = article_form.cleaned_data.get("content")
            cate_obj = request.POST.get("cate_list")
            tag_obj_list = request.POST.getlist("tag_list")


            soup = BeautifulSoup (content,'html.parser')
            content_desc = soup.get_text () [:100]
            with transaction.atomic():
                article_obj = models.Article.objects.create(title=title,desc = content_desc,create_time=datetime.datetime.now(),user=request.user,category_id=cate_obj)
                models.ArticleDetail.objects.create(content=content,article=article_obj)

                if tag_obj_list:
                    for i in tag_obj_list:
                        models.Article_Tag.objects.create(article_id=article_obj.id,tag_id=i)

                return HttpResponse("添加成功")
    else:
        return render(request,'addArticle.html',locals())
Exemplo n.º 3
0
def article_new(request):
    if request.method == "POST":
        form = ArticleForm(request.POST)
        if form.is_valid():
            f = form.save(commit=False)
            ru = request.user.username
            a = form.cleaned_data['author']
            print(a.username)
            print(ru)
            if ru != a.username:
                print('Invalid username auther not same logged user:   '******'Invalid username auther not same logged user:'******'Invalid username auther not same logged user: %(value)s'),
                #                       code='invalid',
                #                       params={'value': value}, )
            else:
                print(form.cleaned_data['post_status'])
                f.author = a
                ps = form.cleaned_data['post_status']
                if ps == 'published':
                    f.published_date = timezone.now()
                f.save()
                send_mail('subject', "new post", '*****@*****.**', [a.mail])
                return redirect('article-detail', pk=f.pk)
    else:
        form = ArticleForm()
    return render(request, 'blog/article_edit.html', {'form': form})
Exemplo n.º 4
0
def create_blog(request):
    form = ArticleForm(request.POST)
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = ArticleForm(request.POST, request.FILES)
        # check whether it's valid:
        if form.is_valid():
            title = form.cleaned_data['title']
            lead_paragraph = form.cleaned_data['lead_paragraph']
            content = form.cleaned_data['content']
            title = request.POST['title']
            lead_paragraph = request.POST['lead_paragraph']
            image = request.FILES['image']
            content = request.POST['content']
            #create slug from title-input
            slug = create_slug_text(title)
            new_article = BlogPost(title=title,
                                   lead_paragraph=lead_paragraph,
                                   image=image,
                                   slug=slug,
                                   meta_title=title,
                                   meta_description=lead_paragraph,
                                   content=content)
            new_article.save()
            # redirect to a blog_post_url:
            return redirect('blog_thanks')
            # if a GET (or any other method) we'll create a blank form
        else:
            form = ArticleForm()
    context = {
        'form': form
        }
    return render(request, "blog/edit/form.html", context)
Exemplo n.º 5
0
def edit_one_article(request, article_pk=0):
    try:
        article = Article.objects.get(pk=article_pk,
                                      author=request.user.get_profile())
    except Article.DoesNotExist:
        article = None
    if request.method == 'POST':
        form = ArticleForm(request.POST, instance=article)
        if form.is_valid():
            art = form.save(commit=False)
            art.author = request.user.get_profile()
            art.save()

        messages.add_message(request, messages.INFO,
                             _('Your edits have been saved successfully.'))

        return render_to_response('blog/edit_one_article.html', {
            'article_pk': article_pk,
            'form': form
        },
                                  context_instance=RequestContext(request))
    else:
        try:
            article = Article.objects.get(pk=article_pk,
                                          author=request.user.get_profile())
        except Article.DoesNotExist:
            form = ArticleForm()

        return render_to_response('blog/edit_one_article.html', {
            'article_pk': article_pk,
            'form': form
        },
                                  context_instance=RequestContext(request))
Exemplo n.º 6
0
def edit_article(request, id):
    next = get_next(request)

    try:
        article = Article.objects.get(id=id)
    except ObjectDoesNotExist:
        return HttpResponseRedirect(next)

    if request.method == 'POST':
        if not request.user.is_authenticated(
        ) or not request.user.is_staff or not request.user.is_active:
            return HttpResponseRedirect('/')
        if request.user != article.user:
            return HttpResponseRedirect('/')
        form = ArticleForm(request.POST, instance=article)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(next)
    else:
        form = ArticleForm(instance=article)
    return render_to_response('blog/edit_article.html', {
        'form': form,
        'article': article,
        'next': next,
    },
                              context_instance=RequestContext(request))
Exemplo n.º 7
0
def article_edit(request, pk):
    article = get_object_or_404(Article, pk=pk)
    if request.method == "POST":
        form = ArticleForm(request.POST, instance=article)
        if form.is_valid():
            f = form.save(commit=False)
            ru = request.user.username
            a = form.cleaned_data['author']
            print(a.username)
            print(ru)
            if ru != a.username:
                messages.add_message(
                    request, messages.ERROR,
                    'Invalid username auther not same logged user:'******'Invalid username auther not same logged user: %(value)s'),
                #                       code='invalid',
                #                       params={'value': value}, )
            else:
                f.author = a
                ps = form.cleaned_data['post_status']
                if ps == 'published':
                    f.published_date = timezone.now()
                f.save()
                return redirect('article-detail', pk=f.pk)
    else:
        form = ArticleForm(instance=article)
    return render(request, 'blog/article_edit.html', {
        'form': form,
        'pk': article.pk
    })
Exemplo n.º 8
0
def create_article(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            form.user = request.user
            form.save()
            return HttpResponseRedirect('/home/')
    else:
        form = ArticleForm()
    return render(request, 'create_article.html', {'form': form})
Exemplo n.º 9
0
def nouvel_article(request):
    """AJout d'un article via formulaire"""
    if request.method == "POST":
        form = ArticleForm(request.POST)
        if form.is_valid():
            form.save()
            envoi = True
    else:
        form = ArticleForm()

    return render(request, "blog/nouvel-article.html", locals())
Exemplo n.º 10
0
def post_edit(request, pk):
    post = get_object_or_404(BlogPost, pk=pk)
    if request.method == "POST":
        form = ArticleForm(request.POST, instance=post)
        if form.is_valid():
            post = form.save(commit=False)
            post.save()
        return redirect('show_blogs_editing')
    else:
        form = ArticleForm(instance=post)
    return render(request, 'blog/edit/form.html', {'form': form})
Exemplo n.º 11
0
def Article_Formu(request):
    article = Article()
    if request.method == 'POST':
        form = ArticleForm(request.POST, instance=article)
        if form.is_valid():
            form.save()

            envoi = True
    else:
        form = ArticleForm(request.POST, instance=article)
    return render(request, 'blog/HTML/creation_article.html', locals())
Exemplo n.º 12
0
def new_article(request):
  if request.method == 'POST':
    form = ArticleForm(request.POST)
    if form.is_valid():
      article = form.save(commit=False)
      article.user = request.user
      article.author = article.user
      article.save()
      return redirect('article_details', id=article.id)
  else:
    form = ArticleForm()
  return render(request, 'new_article.html', {'form': form})  
Exemplo n.º 13
0
def articleform(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            form.save()  #sauvegarder l'article creer
            form = ArticleForm()
            envoi = True

    else:
        form = ArticleForm()

    return render(request, 'blog/articleform.html', locals())
Exemplo n.º 14
0
def update_article(request, article_id):
    args = {}
    article = get_object_or_404(Article, id=article_id)
    form = ArticleForm(instance=article)
    if request.POST:
        form = ArticleForm(data=request.POST, instance=article)
        if form.is_valid():
            form.save()
            messages.add_message(request, messages.INFO, 'Успешно изменено')
            return redirect('index')
    args['form'] = form
    return render(request, 'cr_up_article_page.html', args)
Exemplo n.º 15
0
def article_new(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            article = form.save(commit=False)
            article.article_author = request.user
            article.save()
            return redirect("blog:home")

    else:
        form = ArticleForm()
    return render(request, 'blog/add_article.html', context={"form": form})
Exemplo n.º 16
0
def create_article(request):
    args = {}
    form = ArticleForm()
    if request.POST:
        form = ArticleForm(data=request.POST)
        if form.is_valid():
            article = form.save(commit=False)
            article.author = request.user
            article.save()
            messages.add_message(request, messages.INFO, 'Статья опубликована')
            return redirect('index')
    args['form'] = form
    return render(request, 'cr_up_article_page.html', args)
Exemplo n.º 17
0
def edit_post(request, id):
    post = get_object_or_404(Article, pk=id, user=request.user.pk)
    if request.method == "POST":
        form = ArticleForm(request.POST, instance=post)
        if form.is_valid():
            updated_post = form.save()
            return HttpResponseRedirect(reverse('post_details',
                                                args=[post.id]))
    else:
        form = ArticleForm(instance=post)
    context = {'title': 'Edit Post', 'form': form, 'post': post}
    html_response = render(request, "edit_post.html", context)
    return HttpResponse(html_response)
Exemplo n.º 18
0
def create_post(request):
    form = ArticleForm(request.POST)
    if form.is_valid():
        new_article = form.instance
        new_article.user = request.user
        new_article.save()
        return HttpResponseRedirect("/posts/")
    else:
        html_string = render(
            request, 'new_post.html', {
                'title': 'Create a new post',
                'article_form': ArticleForm(request.POST)
            })
        return HttpResponse(html_string)
Exemplo n.º 19
0
def post_new(request):
    if request.method == "POST":
        form = ArticleForm(request.POST, request.FILES)
        if form.is_valid():
            blog = Blog()
            blog.author = request.user
            blog.blog_type = form.cleaned_data['content_type']
            blog.title = form.cleaned_data['title']
            blog.content = form.cleaned_data['text']
            blog.blog_img = request.FILES.get('cover')
            blog.save()
        return redirect('home')
    else:
        form = ArticleForm()
    return render(request, 'blog/blog_post_edit.html', {'form': form})
Exemplo n.º 20
0
def new_article(request):
    """
    Add a new article to the DB
    """
    form = ArticleForm()
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.validate():
            article = Article()
            form.populate_obj(article)
            article.put()
            return redirect('index')

    context_dict = {'form': form}
    return render(request, 'new_article.html', context_dict)
Exemplo n.º 21
0
def post_article(request):
    if request.POST and request.method == "POST" and request.user.is_authenticated:
        f = ArticleForm(request.POST)
        new_article = f.save()
        return HttpResponseRedirect("/blog/superuser")
    else:
        return HttpResponseRedirect("/blog/superuser")
Exemplo n.º 22
0
def edit(request):
    if request.method != 'POST':
        form = ArticleForm()
    else:
        return HttpResponse('失败')
    context = {'form': form}
    return render(request, 'blog/edit1.html', context)
Exemplo n.º 23
0
def article_update(request, slug=None):
    user = request.user
    #if not user.is_staff or not user.is_superuser:
    #    raise Http404
    instance = get_object_or_404(Article, slug=slug)
    if instance.author != user:
        raise Http404
    # Para poder actualizar un articulo, su imagen es necesario request.FILES or NOne
    form = ArticleForm(request.POST or None, request.FILES or None, instance=instance)
    if form.is_valid():
        instance = form.save(commit=False)
        # form.instance.author = request.user
        instance.save()
        # message success
        # messages.success(request, "<a href='#'>Item</a>Saved", extra_tags='html_safe')
        messages.success(request, "Tu artículo ha sido actualizado")
        return HttpResponseRedirect(instance.get_absolute_url())
    context = {
        'title': instance.title,
        'instance': instance,
        'form': form,
    }
    if user.is_authenticated():
        context['userprofile'] = user.profile
    return render(request, 'blog/article_form.html', context)
Exemplo n.º 24
0
def add_article(request):
    if request.method == "POST":
        form = ArticleForm(request.POST, request.FILES)
        if form.is_valid():
            article = form.save(commit=False)
            article.author_id = request.user.id
            article.uuid = request.session['a_uid']
            article.save()
            url = article.get_url()
            return HttpResponseRedirect(url)

    else:
        form = ArticleForm()
        request.session['a_uid'] = uuid.uuid4().hex
    context = {'form': form, 'user': request.user}
    return render(request, 'kod_add.html', context)
Exemplo n.º 25
0
def article(request, pk):
    obj = get_object_or_404(Article, pk=pk)
    print(obj)
    if request.method == 'POST':
        if 'comment' in request.POST:
            form = CommentForm(request.POST)
            if form.is_valid():
                comment = form.save(commit=False)
                comment.user = request.user
                comment.article = obj
                comment.save()
        elif 'edit' in request.POST:
            form = ArticleForm(request.POST)
            if form.is_valid():
                edit_article = form.save(commit=False)
                obj.title = edit_article.title
                obj.text = edit_article.text
                obj.save()
                messages.success(request, '編集が完了しました')
        elif 'delete' in request.POST:
            obj.delete()
            messages.success(request, '削除が完了しました')
            return redirect('articles')
    comments = Comment.objects.filter(article=pk)
    like_count = Like.objects.filter(article=pk).count()
    context = {'article': obj, 'comments': comments, 'like_count': like_count}
    print(obj.author, request.user)
    return render(request, 'blog/article.html', context)
Exemplo n.º 26
0
def update_article(request, id):
    if request.method == 'POST':
        try:
            form = ArticleForm(request.POST, request.FILES)
            # print(form)
            # print(id)
            if form.is_valid():
                # form.save()
                update_article = Article.objects.get(article_id=id)
                update_article.article_title = form.cleaned_data[
                    'article_title']
                update_article.article_description = form.cleaned_data[
                    'article_description']
                update_article.article_image = form.cleaned_data[
                    'article_image']
                print(form.cleaned_data['article_image'])
                update_article.save()
                return JsonResponse({"err": "false", "message": "data added"})
            else:
                return JsonResponse({
                    "err": "true",
                    "message": "data not added"
                })
        except Exception as err:
            errMessage = f"Oops! {sys.exc_info()[1]}"
            return JsonResponse({'err': 'true', 'message': errMessage})
Exemplo n.º 27
0
def edit(request):
    form = EditForm(request.POST)

    if form.is_valid():
        try:
            article_pk = form.cleaned_data['pk']

            article = Article.objects.get(pk=article_pk,
                                          author=request.user.get_profile())
            form = ArticleForm(instance=article)
            return render_to_response('blog/edit_one_article.html', {
                'article_pk': article_pk,
                'form': form,
                'is_good': False
            },
                                      context_instance=RequestContext(request))
        except Article.DoesNotExist:
            return render_to_response('blog/edit_one_article.html', {
                'article_pk': 0,
                'is_good': False
            },
                                      context_instance=RequestContext(request))

    else:
        return HttpResponseForbidden()
Exemplo n.º 28
0
def article(request):
    # Create Article
    current_date = date.today()
    if request.method == "POST":
        form = ArticleForm(request.POST)

        if form.is_valid():
            article = form.save(commit=False)
            article.author = request.user
            article.published_date = timezone.now()
            article.save()
            return redirect('blog_details', id=article.id)
        else:
            return render(request, 'post_edit.html', {
                'form': form,
                'date': current_date
            })

    # Viewing an Article
    else:
        form = CommentForm()
        return render(request, 'post_edit.html', {
            'form': form,
            'date': current_date
        })
Exemplo n.º 29
0
def blog_edit_view(request, id):
    obj = get_object_or_404(Article, id=id)
    if request.method == "POST":
        form = ArticleForm(request.POST, instance=obj)
        if form.is_valid():
            obj = form.save(commit=False)
            obj.published_date = timezone.now()
            obj.save()
            # template_name = 'post_edit.html'
            # context = {"title": f"Updated {obj.title} at {obj.published_date}", "form": form}
            # return render(request, template_name, context)
            return redirect('blog_details', id=obj.id)
    else:
        form = ArticleForm(instance=obj)
        current_date = date.today()
    return render(request, 'update.html', {'form': form, 'date': current_date})
Exemplo n.º 30
0
def add_article(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST, request.FILES)
        if form.is_valid():
            form = form.save(commit=False)
            volunteer = get_object_or_404(Volunteer, user=request.user)
            form.author = volunteer
            form.save()
            return HttpResponseRedirect(reverse('ArticlesList', args=[]))
    else:
        form = ArticleForm()

    template_name = 'blog/new_article.html'
    context = {
        'form': form,
    }
    return render(request, template_name, context)