Example #1
0
def blog_add(request):
    if request.user.is_authenticated():
        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('-id')[0].id
                return HttpResponseRedirect('/blog/%s' % id)
        else:
            form = BlogForm()
            tag = TagForm()
        return render_to_response('blog_add.html',
            {'form': form, 'tag': tag}, context_instance=RequestContext(request))
    else:
        raise Http404
Example #2
0
def blog_update(request, id=""):
    if request.user.is_authenticated():
        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))
    else:
        raise Http404