示例#1
0
def add(request):
    """ 用户写新的文章 """

    current_page = 'user_wiki'
    title = '投稿'

    if request.method == 'GET':
        form = WikiForm()
        return render('wiki_add.html',locals(),context_instance=RequestContext(request))

    form = WikiForm(request.POST)
    if form.is_valid():
        data = form.cleaned_data
        new_wiki = Entry()
        new_wiki.author = request.user
        new_wiki.title = data['title']
        new_wiki.content = data['content']
        new_wiki.source = data['source']
        
        try:
            new_wiki.save()
        except Exception,e:
            return HttpResponse('保存文章时出错:%s'%e)
        else:

            # 开启线程添加文章标签
            TagingThread(wiki_object=new_wiki).start()
            # 开启下载图片的线程
            ImageDownloader(new_wiki).start()
            # 发送信号
            new_wiki_was_post.send(
                sender= new_wiki.__class__,
                wiki =  new_wiki
            )
            return HttpResponseRedirect('/wiki/%d/' %new_wiki.id)
示例#2
0
def add(request,editor='markdown'):
    """ 用户写新的文章 """

    current_page = 'user_wiki'
    title = '分享文章'

    if request.method == 'GET':
        backup_data = {}
        for k in ['title','content','md_content','source']:
            _k = 'backup_{}'.format(k)
            try:
                v = request.session.get(_k)
                backup_data[k] = v
            except:
                pass

        if editor == 'markdown':
            form = WikiMdForm()
            template = 'wiki_add_md.html'
        else:
            form = WikiForm(backup_data)
            template = 'wiki_add.html'
        form.initial = backup_data
        return render(template,locals(),context_instance=RequestContext(request))
    
    
    if editor == 'markdown':
        form = WikiMdForm(request.POST)
    else:
        form = WikiForm(request.POST)

    if form.is_valid():
        data = form.cleaned_data
        new_wiki = Entry(**data)
        new_wiki.author = request.user
        
        try:
            new_wiki.save()
        except Exception,e:
            return HttpResponse('保存文章时出错:%s'%e)
        else:

            # 发送信号
            new_wiki_was_post.send(
                sender= new_wiki.__class__,
                wiki =  new_wiki
            )

            # 清除备份数据
            _keys = request.session.keys()
            for k in ['title','content','md_content','source']:
                _k = 'backup_{}'.format(k)
                if _k in  _keys:
                    del request.session[_k]

            return HttpResponseRedirect('/wiki/%d/' %new_wiki.id)
示例#3
0
def add(request,editor='markdown'):
    """ 用户写新的文章 """

    current_page = 'user_wiki'
    title = '分享文章'

    if request.method == 'GET':
        if editor == 'markdown':
            form = WikiMdForm()
            template = 'wiki_add_md.html'
        else:
            form = WikiForm()
            template = 'wiki_add.html'
        return render(template,locals(),context_instance=RequestContext(request))
    
    if editor == 'markdown':
        form = WikiMdForm(request.POST)
    else:
        form = WikiForm(request.POST)

    if form.is_valid():
        data = form.cleaned_data
        new_wiki = Entry(**data)
        new_wiki.author = request.user
        #new_wiki.title = data['title']
        #new_wiki.content = data['content']
        #new_wiki.source = data['source']
        
        try:
            new_wiki.save()
        except Exception,e:
            return HttpResponse('保存文章时出错:%s'%e)
        else:

            # 发送信号
            new_wiki_was_post.send(
                sender= new_wiki.__class__,
                wiki =  new_wiki
            )
            return HttpResponseRedirect('/wiki/%d/' %new_wiki.id)
示例#4
0
def add(request, method='markdown'):
    """ 用户写新的文章 """

    current_page = 'user_wiki'
    title = '分享文章'

    if request.method == 'GET':
        if method == 'markdown':
            form = WikiMdForm()
            template = 'wiki_add_md.html'
        else:
            form = WikiForm()
            template = 'wiki_add.html'
        return render(template,
                      locals(),
                      context_instance=RequestContext(request))

    if method == 'markdown':
        form = WikiMdForm(request.POST)
    else:
        form = WikiForm(request.POST)

    if form.is_valid():
        data = form.cleaned_data
        new_wiki = Entry(**data)
        new_wiki.author = request.user
        #new_wiki.title = data['title']
        #new_wiki.content = data['content']
        #new_wiki.source = data['source']

        try:
            new_wiki.save()
        except Exception, e:
            return HttpResponse('保存文章时出错:%s' % e)
        else:

            # 发送信号
            new_wiki_was_post.send(sender=new_wiki.__class__, wiki=new_wiki)
            return HttpResponseRedirect('/wiki/%d/' % new_wiki.id)
示例#5
0
文件: views.py 项目: xo0/pythoner.net
def add(request):
    """ 用户写新的文章 """
    current_page = 'user_wiki'
    title = '写新笔记'

    # 处理GET请求
    if request.method == 'GET':
        form = WikiForm()
        return render('wiki_add.html',
                      locals(),
                      context_instance=RequestContext(request))

    # 处理POST请求
    form = WikiForm(request.POST)
    if form.is_valid():
        data = form.cleaned_data
        new_wiki = Entry()
        new_wiki.author = request.user
        new_wiki.title = data['title']
        new_wiki.content = data['content']
        new_wiki.source = data['source'] and data[
            'source'] or 'http://pythoner.net/home/%d/' % request.user.id

        try:
            new_wiki.save()
        except Exception, e:
            return HttpResponse('保存文章时出错:%s' % e)
        else:

            # 开启线程添加文章标签
            TagingThread(wiki_object=new_wiki).start()
            # 开启下载图片的线程
            ImageDownloader(new_wiki).start()
            # 发送信号
            new_wiki_was_post.send(sender=new_wiki.__class__, wiki=new_wiki)
            return HttpResponseRedirect('/wiki/%d/' % new_wiki.id)
示例#6
0
def add(request,editor='markdown'):
    """ 用户写新的文章 
    
    """

    current_page = 'user_wiki'

    if request.method == 'GET':
        backup_data = {}
        for k in ['title','content','md_content','source']:
            _k = 'backup_{}'.format(k)
            try:
                v = request.session.get(_k)
                backup_data[k] = v
            except:
                pass

        if editor == 'markdown':
            title = u'分享文章(使用MarkDown编辑器)'
            form = WikiMdForm()
            template = 'wiki_add_md.html'
        else:
            title = u'分享文章(使用富文本编辑器)'
            form = WikiForm()
            template = 'wiki_add.html'
        page_title = title
        form.initial = backup_data
        return render(template,locals(),context_instance=RequestContext(request))
    
    
    if editor == 'markdown':
        form = WikiMdForm(request.POST)
        tpl_name = 'wiki_add_md.html'
    else:
        form = WikiForm(request.POST)
        tpl_name = 'wiki_add.html'

    if form.is_valid():
        data = form.cleaned_data
        if not data.get('md_content') and not data.get('content'):
            messages.error(request,u'文章文章内容不能为空')
            return render(tpl_name,locals(),context_instance=RequestContext(request))

        new_wiki = Entry(**data)
        new_wiki.author = request.user
        
        try:
            new_wiki.save()
        except Exception,e:
            msg = u'保存文章时出错'
            log.error(msg + str(e.message ))
            return HttpResponse(msg)
        else:
            # 发送增加声望的信号
            update_user_repulation.send(
                    sender = __name__,
                    request = request,
                    message = u'分享文章成功',
                    user  = request.user,
                    action = 'add',
                    content_type = 'wiki',
                    title  = new_wiki.title,
                    url    = new_wiki.get_absolute_url(),
            )

            # 发送信号
            new_wiki_was_post.send(
                sender= new_wiki.__class__,
                wiki =  new_wiki,
            )

            # 清除备份数据
            _keys = request.session.keys()
            for k in ['title','content','md_content','source']:
                _k = 'backup_{}'.format(k)
                if _k in  _keys:
                    del request.session[_k]
            return HttpResponseRedirect('/wiki/%d/' %new_wiki.id)
示例#7
0
def add(request,editor='markdown'):
    """ 用户写新的文章 
    
    """

    current_page = 'user_wiki'

    if request.method == 'GET':
        backup_data = {}
        for k in ['title','content','md_content','source']:
            _k = 'backup_{}'.format(k)
            try:
                v = request.session.get(_k)
                backup_data[k] = v
            except:
                pass

        if editor == 'markdown':
            title = u'分享文章(使用MarkDown编辑器)'
            form = WikiMdForm()
            template = 'wiki_add_md.html'
        else:
            title = u'分享文章(使用富文本编辑器)'
            form = WikiForm()
            template = 'wiki_add.html'
        page_title = title
        form.initial = backup_data
        return render(template,locals(),context_instance=RequestContext(request))
    
    
    if editor == 'markdown':
        form = WikiMdForm(request.POST)
        tpl_name = 'wiki_add_md.html'
    else:
        form = WikiForm(request.POST)
        tpl_name = 'wiki_add.html'

    if form.is_valid():
        data = form.cleaned_data
        if not data.get('md_content') and not data.get('content'):
            messages.error(request,u'文章文章内容不能为空')
            return render(tpl_name,locals(),context_instance=RequestContext(request))

        new_wiki = Entry(**data)
        new_wiki.author = request.user
        
        try:
            new_wiki.save()
        except Exception,e:
            msg = u'保存文章时出错'
            log.error(msg + str(e.message ))
            return HttpResponse(msg)
        else:
            # 发送增加声望的信号
            update_user_repulation.send(
                    sender = __name__,
                    request = request,
                    message = u'分享文章成功',
                    user  = request.user,
                    action = 'add',
                    content_type = 'wiki',
                    title  = new_wiki.title,
                    url    = new_wiki.get_absolute_url(),
            )

            # 发送信号
            new_wiki_was_post.send(
                sender= new_wiki.__class__,
                wiki =  new_wiki,
            )

            # 清除备份数据
            _keys = request.session.keys()
            for k in ['title','content','md_content','source']:
                _k = 'backup_{}'.format(k)
                if _k in  _keys:
                    del request.session[_k]
            return HttpResponseRedirect('/wiki/%d/' %new_wiki.id)