Esempio n. 1
0
File: view.py Progetto: keily/DBlog
def blog_edit(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('/DBlog/archive/%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))
Esempio n. 2
0
File: view.py Progetto: keily/DBlog
def blog_add(request):
    if request.method=="POST":
        form=BlogForm(request.POST)
        if form.is_valid():
            cd=form.cleaned_data
            title=cd['caption']
            content=cd['content']
            author = Author.objects.get(id=1)
            blog = Blog(caption=title, author=author, content=content)
            blog.save()
            #保存成功跳转到新增页面
            id = Blog.objects.order_by('-publish_time')[0].id
            return HttpResponseRedirect('/DBlog/archive/%s' % id)
    else:
        form=BlogForm()
    return render_to_response('blog_add.html',{'form': form}, context_instance=RequestContext(request))