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)
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)