예제 #1
0
def create(request, template_name='main/form.html'):
    form = BlogForm(request.POST or None)
    if form.is_valid():
        form.save()
        messages.success(request, 'Post has been created')
        return redirect('index')
    return render(request, template_name, {'form': form})
예제 #2
0
def blog_edit_formset(request,id):
    blog = Blog.objects.get(id=id)

    form = BlogForm(request.POST if request.method =="POST" else None ,
                    instance=blog,prefix='blog')
    medias = media_formset(request,blog.medias.all())

    if request.method == "POST":

        if form.is_valid() :
            form.save()

        if medias.is_valid():
            for media in medias.forms:
                if media.is_valid() and media.instance.data:
                    if media.cleaned_data.get('removing',False):
                        blog.medias.remove(media.instance)
                    else:
                        media.instance.user = request.user if request.user.is_authenticated() else None
                        media.save()
                        blog.medias.add(media.instance)
        else:
            #: error handling
            print medias.errors

            #: for increase medias.extra_forms after adding new mediafile

        medias = media_formset(None,blog.medias.all())

    return render_to_response('blogs/blog/edit_formset.html',
            {'form': form,'medias':medias, },
        context_instance=template.RequestContext(request))
예제 #3
0
def manage_blogs(request, blog_id=None):
    if request.method == 'POST':
        form = BlogForm(request.POST)
        if form.is_valid():
            niche = NicheModel.objects.get(id=int(request.POST['niche']))
            newblog = BlogModel(address=request.POST['address'],
                                user=request.POST['user'],
                                password=request.POST['password'],
                                niche=niche)
            newblog.save()
            return HttpResponseRedirect('/manage_blogs/')
    else:
        initial_data = None
        if blog_id:
            try:
                edit_blog = BlogModel.objects.get(pk=blog_id)
                initial_data = edit_blog.get_data()
            except Exception:
                pass
        form = BlogForm(initial_data)
        blogs = BlogModel.objects.all()
        return render_to_response('manage_blogs.html', {
            'blogs': blogs,
            'form': form,
            'blog_id': blog_id
        },
                                  context_instance=RequestContext(request))
예제 #4
0
def blog_add(request):
    if request.method == 'POST':
        form = BlogForm(request.POST)
        tag = TagForm(request.POST)
        if form.is_valid() and tag.is_valid():
            cd = form.cleaned_data
            cdtag = tag.cleaned_data
            tagname = cdtag['tag_name']
            for taglist in tagname.split():
                Tag.objects.get_or_create(tag_name=taglist.strip())
            title = cd['caption']
            author = Author.objects.get(id=1)
            content = cd['content']
            blog = Blog(caption=title, author=author, content=content)
            blog.save()
            for taglist in tagname.split():
                blog.tags.add(Tag.objects.get(tag_name=taglist.strip()))
                blog.save()
            id = Blog.objects.order_by('-publish_time')[0].id
            return HttpResponseRedirect('blog/%s' % id)
    else:
        form = BlogForm()
        tag = TagForm(initial={'tag_name': 'notags'})
    return render_to_response('blog_add.html',
        {'form': form, 'tag': tag}, context_instance=RequestContext(request))
예제 #5
0
파일: views.py 프로젝트: joeirimpan/blogagg
def new_blog(request):
    if request.method == "POST":
        form = BlogForm(request.POST)
        if form.is_valid():
            _blog = form.save(commit=False)
            req_url = BASE_URL % (_blog.name, TEST_API_KEY)
            # parse json
            req = requests.get(req_url)
            jsonlist = json.loads(req.content)
            response = jsonlist['response']
            posts = response['posts']
            blog = response['blog']
            # for post in posts:
            # 	print post['body']

            _blog.title = blog['title']
            _blog.url = blog['url']
            _blog.save()

            for post in posts:
                article = Article()
                article.title = post['title']
                article.url = post['post_url']
                article.description = post['body']
                # article.published_date =
                # datetime.datetime.fromtimestamp(float(post['timestamp']))
                # print article.published_date
                article.blog = _blog
                article.save()
            return redirect('blogs.views.articles_list')
    else:
        form = BlogForm()
    return render(request, "new_blog.html", {"form": form})
예제 #6
0
def edit(request, id=None):
    if not request.user.is_staff or not request.user.is_superuser:
        raise Http404
    instance = get_object_or_404(Blog, id=id)

    # check just owner and superuser can edit current post
    if not request.user.is_superuser and request.user != instance.owner:
        raise PermissionDenied

    form = BlogForm(request.POST or None,
                    request.FILES or None,
                    instance=instance)
    if form.is_valid():
        instance = form.save(commit=False)
        instance.owner = request.user
        form.save()
        messages.success(request,
                         _('updated successfully!!'),
                         extra_tags='alert alert-success')
        return HttpResponseRedirect(instance.get_absolute_url())

    context = {
        'form': form,
    }
    return render(request, 'edit.html', context)
예제 #7
0
def update(request, blog_id, template_name='main/form.html'):
    post = get_object_or_404(Blog, pk=blog_id)
    form = BlogForm(request.POST or None, instance=post)
    if form.is_valid():
        form.save()
        messages.success(request, 'Post has been updated')
        return redirect('index')
    return render(request, template_name, {'form': form})
예제 #8
0
파일: views.py 프로젝트: chromer/demo
def add_blog(request):
    if request.method == 'POST':
        form = BlogForm(request.POST)
        if form.is_valid():
            instance = form.save(commit=False)
            instance.author = request.user
            instance.save()
            return HttpResponseRedirect('/blogs')
        else:
            return HttpResponse('Some error occured please try again later.')
예제 #9
0
def create_blog(request, id=False):
    if request.method == 'POST': # If the form has been submitted...
        form = BlogForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
           
            blog_id = int(request.POST['blog_id'])
            blog_name = form.cleaned_data['blog_name']
            blog_content = form.cleaned_data['blog_content']
            
            if blog_id == False:
                # Create blog entity
                blog_item = Blog(
                                 blog_name=blog_name,
                                 blog_content=blog_content)
            else:
                # retrieve existing blog entity
                blog_item = ndb.Key(Blog, blog_id).get()
          
                # update existing blog entity
                blog_item.blog_name = blog_name
                blog_item.blog_content = blog_content 
                
            # save request changes
            blog_item_key = blog_item.put()

            # redirect
            return HttpResponseRedirect('/blog') # Redirect after POST
    else:
        if id == False:
            # initialize form that creates form 
            form = BlogForm() # An unbound form
        else:
            # fetch the blog item based on the given id
            key = ndb.Key(Blog, int(id))
            selected_blog = key.get()
            
            # initialize form that edits form
            form = BlogForm(initial={
                                     'blog_name': selected_blog.blog_name,
                                     'blog_content': selected_blog.blog_content
                                      })

    # produce var for template
    variables = RequestContext(request, {
                                         'form' : form,
                                         'blog_id': int(id)                                                                                
                                         })
    
    return render_to_response( 'create_blog.html', variables )
예제 #10
0
def add_blog(request):
    if 'POST' == request.method:
        form = BlogForm(request.POST)
        if form.is_valid():
            # save the data
            form.save()
            messages.success(request, 'Blog details saved successfully.')
            return redirect('home')
        else:
            # error message 
            messages.error(request, 'Sumbitted form is invalid.')
    else:
        form = BlogForm()
    return render(request, 'blog/form.html', { 'form': form, 'action_title': 'Add Blog'})
예제 #11
0
def blog_update(request, id=""):
    id = id
    if request.method == 'POST':
        form = BlogForm(request.POST)
        tag = TagForm(request.POST)
        if form.is_valid() and tag.is_valid():
            cd = form.cleaned_data
            cdtag = tag.cleaned_data
            tagname = cdtag['tag_name']
            tagnamelist = tagname.split()
            for taglist in tagnamelist:
                Tag.objects.get_or_create(tag_name=taglist.strip())
            title = cd['caption']
            content = cd['content']
            blog = Blog.objects.get(id=id)
            if blog:
                blog.caption = title
                blog.content = content
                blog.save()
                for taglist in tagnamelist:
                    blog.tags.add(Tag.objects.get(tag_name=taglist.strip()))
                    blog.save()
                tags = blog.tags.all()
                for tagname in tags:
                    tagname = unicode(str(tagname), "utf-8")
                    if tagname not in tagnamelist:
                        notag = blog.tags.get(tag_name=tagname)
                        blog.tags.remove(notag)
            else:
                blog = Blog(caption=blog.caption, content=blog.content)
                blog.save()
            return HttpResponseRedirect('/blog/%s' % id)
    else:
        try:
            blog = Blog.objects.get(id=id)
        except Exception:
            raise Http404
        form = BlogForm(initial={'caption': blog.caption, 'content': blog.content}, auto_id=False)
        tags = blog.tags.all()
        if tags:
            taginit = ''
            for x in tags:
                taginit += str(x) + ' '
            tag = TagForm(initial={'tag_name': taginit})
        else:
            tag = TagForm()
    return render_to_response('blog_add.html',
        {'blog': blog, 'form': form, 'id': id, 'tag': tag},
        context_instance=RequestContext(request))
예제 #12
0
파일: views.py 프로젝트: miyanda2/JHTS
def create(request, template_name='main/form.html'):
    """
        View to create a new blog post.
        Just for the SuperUser.
    """
    if request.user.is_superuser:
        form = BlogForm(request.POST or None)
        if form.is_valid():
            form.save()
            messages.success(request, 'Post has been created')
            return redirect('index')
        return render(request, template_name, {'form': form})
    else:
        messages.success(request, 'You are not authorized')
        return redirect('index')
예제 #13
0
파일: views.py 프로젝트: miracul/miracul
def add(request):
    if request.method == 'POST':
        form = BlogForm(request.POST, error_class=DivErrorList)

        if form.is_valid():
            request_data = form.cleaned_data
            request_data['user_id'] = request.user
            blog_id = Blog.add_message(Blog(), request_data)
            return HttpResponseRedirect('/blog/post/' + blog_id)
    else:
        form = BlogForm(error_class=DivErrorList)
    c = {
        'form': form
    }
    return render_to_response('blog/add.html', c, context_instance=RequestContext(request))
예제 #14
0
파일: views.py 프로젝트: kinshukk/JHTS
def create(request, template_name='main/form.html'):
    """
        View to create a new blog post.
        Just for the SuperUser.
    """
    if request.user.is_superuser:
        form = BlogForm(request.POST or None)
        if form.is_valid():
            form.save()
            messages.success(request, 'Post has been created')
            return redirect('index')
        return render(request, template_name, {'form': form})
    else:
        messages.success(request, 'You are not authorized')
        return redirect('index')
예제 #15
0
파일: views.py 프로젝트: kinshukk/JHTS
def update(request, blog_id, template_name='main/form.html'):
    """
        View to update a particular blog post.
        Just for the SuperUser.
    """
    if request.user.is_superuser:
        post = get_object_or_404(Blog, pk=blog_id)
        form = BlogForm(request.POST or None, instance=post)
        if form.is_valid():
            form.save()
            messages.success(request, 'Post has been updated')
            return redirect('index')
        return render(request, template_name, {'form': form})
    else:
        messages.success(request, 'You are not authorized')
        return redirect('index')
예제 #16
0
파일: views.py 프로젝트: miyanda2/JHTS
def update(request, blog_id, template_name='main/form.html'):
    """
        View to update a particular blog post.
        Just for the SuperUser.
    """
    if request.user.is_superuser:
        post = get_object_or_404(Blog, pk=blog_id)
        form = BlogForm(request.POST or None, instance=post)
        if form.is_valid():
            form.save()
            messages.success(request, 'Post has been updated')
            return redirect('index')
        return render(request, template_name, {'form': form})
    else:
        messages.success(request, 'You are not authorized')
        return redirect('index')
예제 #17
0
def create(request):
    if not admin():
        return HttpResponseRedirect(users.create_login_url("/blogs"))
    form = BlogForm(request.POST)
    form.fields["category"].choices = [("", "请选择")] + [(category.key(), category.name) for category in Category.all()]
    if form.is_valid():
        blog = Blog()
        blog.title = form.cleaned_data["title"]
        blog.content = form.cleaned_data["content"]
        if form.cleaned_data["category"]:
            blog.category = Category.get(form.cleaned_data["category"])
        elif form.cleaned_data["user_tag"]:
            blog.category = Category.get_or_insert(form.cleaned_data["user_tag"], name=form.cleaned_data["user_tag"])
        blog.create()
        return HttpResponseRedirect("/blogs")
    else:
        return new(request)
예제 #18
0
파일: views.py 프로젝트: qubic/myblogongae
def create(request):
    if not admin():
        return HttpResponseRedirect(users.create_login_url('/blogs'))
    form = BlogForm(request.POST)
    form.fields['category'].choices = [('', '请选择')] + [(category.key(), category.name) for category in Category.all()]
    if form.is_valid():
        blog = Blog()
        blog.title = form.cleaned_data['title']
        blog.content = form.cleaned_data['content']
        if form.cleaned_data['category']:
            blog.category = Category.get(form.cleaned_data['category'])
        elif form.cleaned_data['user_tag']:
            blog.category = Category.get_or_insert(form.cleaned_data['user_tag'], name=form.cleaned_data['user_tag'])
        blog.create()
        return HttpResponseRedirect('/blogs')
    else:
        return new(request)
예제 #19
0
def edit(request):
	if request.method == 'POST':
		form = BlogForm(request.POST)
		if form.is_valid():
			caption = form.clean_data['caption']
			article_id = form.clean_data['article_id']
			category = form.clean_data['category']
			content = form.clean_data['content']
				
			blog = Blog(caption=caption,
				    article_id=article_id,
				    category=category,
				    content=content)
			blog.save()
			return HttpResponseRedirect("/bloglist/")
	else:
		form = BlogForm()
	return render_to_response('edit.html', {'form': form}, context_instance=RequestContext(request))
예제 #20
0
def create(request):
    if not request.user.is_staff or not request.user.is_superuser:
        raise Http404
    form = BlogForm(
        request.POST or None,
        request.FILES,
    )
    if form.is_valid():
        instance = form.save(commit=False)
        instance.owner = request.user
        instance.save()
        messages.success(
            request,
            _('created successfully! <a href="/">See the item</a>'),
            extra_tags='alert alert-success safe')
    context = {
        'form': form,
    }
    return render(request, 'create.html', context)
예제 #21
0
def blog(request):
    latest_blog_list = Blog.objects.order_by('-created_time')[:5]
    # latest_comment_list = Comment.objects.order_by('-comment_date')[:5]
    template = loader.get_template('blogs.html')
    context = RequestContext(
        request,
        {
            'latest_blog_list': latest_blog_list,
            # 'latest_comment_list':latest_comment_list,
            'template_name': 'blogs.html',
            'form_blog': BlogForm,
            'form_comment': CommentForm,
            'success_url': '/thanks/',
        })
    if request.method == 'POST':
        if 'blog_body' in request.POST:
            form = BlogForm(request.POST)
        elif 'comment_data' in request.POST:
            form = CommentForm(request.POST)
        if form.is_valid():
            blog_form = form.save(commit=False)
            if 'comment_data' in request.POST:
                blog = Blog.objects.get(id=request.POST['blog'])
                comment_count = blog.comment_set.aggregate(
                    Count('comment_data')).values()
                if comment_count[0] != None:
                    comment_count = blog.comment_set.aggregate(
                        Count('comment_data')).values()[0]
                else:
                    comment_count = int(request.POST['comment_data'])
                blog.overall_comment = comment_count
                blog.save()

            # commit=False tells Django that "Don't send this to database yet.
            # I have more things I want to do with it."
            blog_form.user = User.objects.get(username=request.user)
            # Set the user object here
            blog_form.save()
            # Now you can send it to DB

    return HttpResponse(template.render(context))
예제 #22
0
def new_post(request):
	if request.method == 'POST':
		print request
		# create a form instance and populate it with data from the request
		form = BlogForm(request.POST)
		# check if it is valid
		if form.is_valid():
			# process data and redirect to a new URL
			title = form.cleaned_data['title']
			description = form.cleaned_data['description']
			content = form.cleaned_data['content']
			new = Post(title=title, content=content, description=description,
						published=form['published'], slug=slugify(unicode(title)))
			new.save()
			return HttpResponseRedirect('/blog/')
	# GET or other methods, create a blank form
	else:
		print "GET HERE"
		form = BlogForm()
		print form
	return render(request, 'blog/new.html', {'form': form})
예제 #23
0
def blog(request, id=None):
    if id != None:
        latest_blog_list = Blog.objects.filter(id=id)
    else:
        latest_blog_list = Blog.objects.order_by('-created_date')[:5]
    # latest_comment_list = Comment.objects.order_by('-comment_date')[:5]
    template = loader.get_template('blogs.html')
    context = RequestContext(request, {
        'latest_blog_list': latest_blog_list,
        # 'latest_comment_list':latest_comment_list,
        'template_name': 'blogs.html',
        'form_blog': BlogForm,
        'form_comment': CommentForm,
        'success_url': '/thanks/',
    })
    if request.method == 'POST':
        if 'blog_body' in request.POST:
            form = BlogForm(request.POST)
        elif 'comment_data' in request.POST:
                form = CommentForm(request.POST)
        if form.is_valid():
            blog_form = form.save(commit=False)
            if 'comment_data' in request.POST:
                blog = Blog.objects.get(id=request.POST['blog'])
                comment_count = blog.comment_set.aggregate(Count('comment_data')).values()
                if comment_count[0] != None:
                    comment_count = blog.comment_set.aggregate(Count('comment_data')).values()[0]
                else:
                    comment_count = int(request.POST['comment_data'])
                blog.overall_comment = comment_count
                blog.save()

            # commit=False tells Django that "Don't send this to database yet.
            # I have more things I want to do with it."
            blog_form.user = User.objects.get(username=request.user)
            # Set the user object here
            blog_form.save()
            # Now you can send it to DB

    return HttpResponse(template.render(context))
예제 #24
0
파일: views.py 프로젝트: qubic/myblogongae
def update(request, key):
    if not admin():
        return HttpResponseRedirect(users.create_login_url('/blogs'))
    form = BlogForm(request.POST)
    form.fields['category'].choices = [('', '请选择')] + [(category.key(), category.name) for category in Category.all()]
    if form.is_valid():
        blog = Blog.get(key)
        blog_category_db=blog.category
        blog.title = form.cleaned_data['title']
        blog.content = form.cleaned_data['content']
        if form.cleaned_data['category']:
            blog.category = Category.get(form.cleaned_data['category'])
        elif form.cleaned_data['user_tag']:
            blog.category = Category.get_or_insert(form.cleaned_data['user_tag'], name=form.cleaned_data['user_tag'])
        else:
            blog.category = None
        blog.put()
        if blog_category_db and blog_category_db.blog_set.count() == 0:
            blog_category_db.delete()
        return HttpResponseRedirect('/blogs')
    else:
        return edit(request, key)
예제 #25
0
파일: views.py 프로젝트: miracul/miracul
def edit(request, message_id):
    blog = Blog.objects.get(id=message_id)
    if request.user == blog.user_id:
        if request.method == 'POST':
            form = BlogForm(request.POST, error_class=DivErrorList)
            if form.is_valid():
                request_data = form.cleaned_data
                request_data['user_id'] = request.user
                request_data['id'] = message_id
                blog_id = Blog.edit_message(Blog(), request_data)
                return HttpResponseRedirect('/blog/post/' + blog_id)
        else:
            form = BlogForm(initial={'title': blog.title, 'message': blog.message}, error_class=DivErrorList)
            c = {
                'form': form,
                'model': blog,
                'message': 'success'
            }
    else:
        c = {
            'message': 'error',
        }
    return render_to_response('blog/edit.html', c, context_instance=RequestContext(request))
예제 #26
0
def manage_blogs(request, blog_id=None):
    if request.method == 'POST':
        form = BlogForm(request.POST)
        if form.is_valid():
            niche = NicheModel.objects.get(id=int(request.POST['niche']))
            newblog = BlogModel(address=request.POST['address'],
                                user=request.POST['user'],
                                password=request.POST['password'],
                                niche=niche)
            newblog.save()
            return HttpResponseRedirect('/manage_blogs/')
    else:
        initial_data = None
        if blog_id:
            try:
                edit_blog = BlogModel.objects.get(pk=blog_id)
                initial_data = edit_blog.get_data()
            except Exception:
                pass
        form = BlogForm(initial_data)
        blogs = BlogModel.objects.all()
        return render_to_response('manage_blogs.html',
            {'blogs': blogs, 'form': form, 'blog_id': blog_id}, context_instance=RequestContext(request))
예제 #27
0
def new_post(request):
    if request.method == 'POST':
        print request
        # create a form instance and populate it with data from the request
        form = BlogForm(request.POST)
        # check if it is valid
        if form.is_valid():
            # process data and redirect to a new URL
            title = form.cleaned_data['title']
            description = form.cleaned_data['description']
            content = form.cleaned_data['content']
            new = Post(title=title,
                       content=content,
                       description=description,
                       published=form['published'],
                       slug=slugify(unicode(title)))
            new.save()
            return HttpResponseRedirect('/blog/')
    # GET or other methods, create a blank form
    else:
        print "GET HERE"
        form = BlogForm()
        print form
    return render(request, 'blog/new.html', {'form': form})
예제 #28
0
def blog_edit_simple(request,id):
    blog = Blog.objects.get(id=id)

    if request.method == "GET":
        form = BlogForm(instance=blog,prefix='blog')
        media_form = MediaFileForm(prefix='media')
    else:
        form = BlogForm(request.POST,instance=blog,prefix='blog')
        media_form = MediaFileForm(
            request.POST,request.FILES,prefix='media')

        if form.is_valid() :
            form.save()

        if media_form.is_valid():
            media_form.instance.user = request.user
            media_form.instance.slug = uuid.uuid1().hex
            media_form.save()
            blog.medias.add(media_form.instance)
            media_form = MediaFileForm(prefix='media')

    return render_to_response('blogs/blog/edit_simple.html',
            {'form': form,'media_form':media_form, },
        context_instance=template.RequestContext(request))