예제 #1
0
파일: views.py 프로젝트: huan80s/myblog
def add_translate(request, id=None):
    """
    ===============================================================================
    function:    编撰翻译
    developer:    BeginMan
    add-time      2014/1/13
    ===============================================================================
    """
    context = {}
    try:
        trans = None
        url = request.get_full_path()
        if id and id != "0":
            trans = Translate.objects.get(pk=id)

        if request.method == "POST":
            form = TransForm(request.POST, instance=trans)
            if form.is_valid():
                temp = form.save(commit=False)
                temp.user = request.user
                content = form.cleaned_data["content"]
                count = len(content)  # 摘要不得超过300字
                cut_len = int(count * 0.3)  # 取50%
                if count > 200:
                    cut_len = 200

                summ_content = "%s...." % content[:cut_len]
                summary = strip_tags(summ_content)  # 将markdown格式转换纯文本
                temp.summary = summary
                form.save()
                return HttpResponseRedirect("/translate/")
        else:
            cate_id = request.GET.get("cate", None)
            form = TransForm(instance=trans)
            context["cate_id"] = cate_id

        context["url"] = url
        context["form"] = form

    except Exception, e:
        log.error("translate/add_translate:%s" % e)
        return HttpResponse(e)
예제 #2
0
파일: views.py 프로젝트: eetif/myblog
def add_blog(request):
    """
    ===============================================================================
    function:            发表博客
    developer:    BeginMan
    add-time      2013/12/28 
    ===============================================================================
    """
    context = {}
    user = request.user
    try:
        if request.method == 'POST':
            form = BlogForm(request.POST, error_class=DivErrorList)
            if form.is_valid():
                formData = form.cleaned_data
                category_id = formData.get('category_id')   # Category实例
                tags = formData.get('tags', None)
                title = formData.get('title')
                summary = formData.get('summary', None)
                content = formData.get('content')
                status = formData.get('status', 1)
                istop = formData.get('istop', 0)
                cancomment = formData.get('cancomment', 1)
                password = formData.get('password', None)
                my_pic = request.POST.get('my_pic', None)       # 上传的图片id
                edit_or_creat = request.POST.get('edit_or_creat', None)     # 编辑还是创建

                if not summary:
                    count = len(content)                        # 摘要不得超过300字
                    cut_len = int(count*0.5)                    # 取50%
                    if count > 300:
                        cut_len = 300

                    summ_content = '%s....' % content[:cut_len]
                    summary = strip_tags(summ_content)       # 将markdown格式转换纯文本
                if not edit_or_creat:
                    # 创建blog
                    Blog.objects.create(category_id=category_id, tags=tags, summary=summary, title=title, content=content, status=status, istop=istop, cancomment=cancomment, password=password, pic=my_pic)
                else:
                    # 编辑博客
                    b_id = int(edit_or_creat)
                    Blog.objects.filter(id=b_id).update(category_id=category_id, tags=tags, summary=summary, title=title, content=content, status=status, istop=istop, cancomment=cancomment, password=password, pic=my_pic)

                # 创建标签
                tags_list = [i for i in tags.split('|') if i]
                all_tags = Tags.objects.all()
                if tags_list:
                    for obj in tags_list:
                        if obj not in all_tags:     # 标签唯一
                            Tags.objects.create(name=obj)
                # 更新分类
                category_id.count +=1
                category_id.save()
                return HttpResponseRedirect('/manager/blog/blog_manage/')        # 跳到管理页面
        else:
            id = request.GET.get('id', None)
            if id:      # 编辑状况
                blog = get_object_or_404(Blog, pk=int(id))
                form = BlogForm(auto_id='id_for_%s', label_suffix=u':', instance=blog)
            else:
                form = BlogForm(auto_id='id_for_%s', label_suffix=u':')
        tags_list = Tags.objects.order_by('-add_time')
        context['tags'] = tags_list
        context['form'] = form


    except Exception, e:
        log.error('add_blog:%s' % e)
        return HttpResponse(e)