views_admin.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:DCPanel 作者: vladgr 项目源码 文件源码
def copy_config(request):
    tpl = 'admin/api/custom/copy_config.html'
    servers = models.Server.objects.all()

    if request.method == 'POST':
        sfrom = int(request.POST['server_from'])
        sto = int(request.POST['server_to'])

        if sfrom == 0:
            message = 'Server "from" hasn\'t been chosen.'
            messages.error(request, message)
        elif sto == 0:
            message = 'Server "to" hasn\'t been chosen.'
            messages.error(request, message)
        elif sfrom == sto:
            message = 'Server "from" and server "to" should be different.'
            messages.error(request, message)
        else:
            count = 0
            objs = models.Conf.objects.filter(server_id=sfrom)
            for obj in objs:
                dic = {
                    'server_id': sto,
                    'filename': obj.filename,
                    'type': models.Conf.SERVER,
                    'item': obj.item
                }
                if not models.Conf.objects.filter(**dic).exists():
                    dic['data'] = obj.data
                    conf = models.Conf(**dic)
                    conf.save()
                    count += 1
            message = '{:d} configs have been copied.'.format(count)
            messages.success(request, message)

    return render_to_response(
        tpl, locals(), context_instance=RequestContext(request))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号