Exemplo n.º 1
0
def table_obj_change(request,app_name,model_name,obj_id):
    """kingadmin数据修改页"""
    admin_class = site.enable_admins[app_name][model_name]
    model_form = create_dynamic_model_form(admin_class)
    obj = admin_class.model.objects.get(id=obj_id)
    if request.method == 'GET':
        form_obj = model_form(instance=obj)
        # print(dir(form_obj))
        # print(dir(form_obj.instance))
        # for field in form_obj:
            # print(dir(field))
            # print(field.name)
            # print(field.label)
            # print(field.value())
    elif request.method == 'POST':
        print(type(request.POST.get('password')))
        if request.POST.get('password',None) and len(request.POST.get('password'))!= 78:
            request.POST._mutable = True
            request.POST['password'] = make_password(request.POST.get('password'))
            request.POST._mutable = False
        print(request.POST)
        form_obj = model_form(instance=obj,data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            return redirect('kingadmin:table_obj_list',app_name,model_name)

    return render(request,'kingadmin/table_obj_change.html',locals())
Exemplo n.º 2
0
def table_obj_add(request,app_name,model_name):
    admin_class = site.enabled_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class,form_add=True)
    if request.method == "GET":
        form_obj = model_form()
    elif request.method == "POST":
        form_obj = model_form(data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            return redirect("/kingadmin/%s/%s/" % (app_name, model_name))

    return render(request,'kingadmin/table_obj_add.html',locals())
Exemplo n.º 3
0
def table_obj_change(request, app_name, model_name, pk):
    '''kingadmin 数据修改页'''
    admin_class = site.enable_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class)
    #实例化
    obj = admin_class.model.objects.get(pk=pk)
    if request.method == 'GET':
        form_obj = model_form(instance=obj)
    elif request.method == 'POST':
        form_obj = model_form(instance=obj, data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            return redirect("/kingadmin/%s/%s" % (app_name, model_name))
    return render(request, 'kingadmin/table_obj_change.html', locals())
Exemplo n.º 4
0
def table_obj_add(request, app_name, model_name):
    """添加"""
    admin_class = site.enabled_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class, form_add=True)

    if request.method == 'GET':
        form_obj = model_form()
        print('----', form_obj)
    elif request.method == 'POST':
        form_obj = model_form(data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            return redirect('/kingadmin/%s/%s' % (app_name, model_name))

    return render(request, 'table_obj_add.html', locals())
Exemplo n.º 5
0
def table_obj_add(request,app_name,model_name):
    '''kingadmin 数据添加'''

    admin_class = site.enable_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class,form_add=True)

    if request.method == 'GET':
        form_obj = model_form()
    elif request.method == 'POST':
        form_obj = model_form(data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            #跳转到的页面
            return redirect("/kingadmin/%s/%s/"%(app_name,model_name))
    return render(request, 'kingadmin/table_obj_add.html', locals())
Exemplo n.º 6
0
def table_obj_change(request, app_name, model_name, obj_id):
    """kingadmin 数据修改页"""
    admin_class = site.enabled_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class)
    print(model_form)
    obj = admin_class.model.objects.get(id=obj_id)
    if request.method == "GET":
        form_obj = model_form(instance=obj)  #instance当前正在修改的对象
    elif request.method == "POST":
        form_obj = model_form(instance=obj, data=request.POST)
        if form_obj.is_valid():
            form_obj.save()  #ModelForm直接保存,Form需要从clean_data中取出数据
            return redirect('/kingadmin/%s/%s/' % (app_name, model_name))

    return render(request, "kingadmin/table_obj_change.html", locals())
Exemplo n.º 7
0
def table_obj_change(request, app_name, model_name, obj_id):
    """kingadmin数据修改页"""
    admin_class = site.enabled_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class)
    obj = admin_class.model.objects.get(id=obj_id)
    if request.method == "GET":
        form_obj = model_form(instance=obj)
    elif request.method == "POST":
        form_obj = model_form(instance=obj, data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            return redirect("/kingadmin/%s/%s/" % (app_name, model_name))

    # form_obj = model_form(instance=obj)
    return render(request, 'kingadmin/table_obj_change.html', locals())
Exemplo n.º 8
0
def table_obj_add(request,app_name,model_name):
    """增加操作(页面)"""
    admin_class = site.enabled_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class,form_add=True)
    if request.method == 'GET':
        # GET:查看当前页,返回当前对象的所有数据
        form_obj = model_form()
    else:
        # POST: 修改当前页,获取数据并保存新数据
        form_obj = model_form(data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            return redirect("/kingadmin/%s/%s/" % (app_name, model_name))

    return render(request, 'kingadmin/table_obj_add.html', locals())
Exemplo n.º 9
0
def table_obj_change(request, app_name, model_name, obj_id):
    """kingadmin数据修改页"""
    admin_class = site.enabled_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class)
    obj = admin_class.model.objects.get(id=obj_id)
    if request.method == 'GET':
        form_obj = model_form(instance = obj)
        #将需要修改项的数据传到前端
    elif request.method =='POST':
        #判断修改的数据否符合规则,是的话保存并返回,不是的话返回前端错误信息
        form_obj = model_form(instance=obj, data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            return redirect('/kingadmin/%s/%s'%(app_name, model_name))
    return render(request, 'kingadmin/table_obj_change.html', locals())
Exemplo n.º 10
0
def table_obj_change(request,app_name,model_name,obj_id):
    """信息修改操作(页面)"""
    admin_class = site.enabled_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class)
    obj = admin_class.model.objects.get(id=obj_id)
    if request.method == 'GET':
        # GET:查看当前页,返回当前对象的所有数据
        form_obj = model_form(instance=obj)
    else:
        # POST: 修改当前页,获取数据并保存新数据
        form_obj = model_form(instance=obj, data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            return redirect("/kingadmin/%s/%s/" % (app_name, model_name))
    # print("type--------------",type(form_obj))
    return render(request, 'kingadmin/table_obj_change.html', locals())
Exemplo n.º 11
0
def table_obj_add(request,app_name,model_name):
    admin_class = site.enable_admins[app_name][model_name]
    model_form = create_dynamic_model_form(admin_class,form_add=True)
    if request.method == 'GET':
        form_obj = model_form()
    elif request.method == 'POST':
        print(request.POST)
        if request.POST.get('password',None):
            request.POST._mutable = True
            request.POST['password'] = make_password(request.POST.get('password'))
            request.POST._mutable = False
        print(request.POST)
        form_obj = model_form(data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            return redirect('kingadmin:table_obj_list',app_name,model_name)
    return render(request,'kingadmin/table_obj_add.html',locals())
Exemplo n.º 12
0
def model_obj_add(request, app_name, model_name):
    """kingadmin 數據添加"""
    admin_class = site.enabled_admins[app_name][model_name]
    # 動態生成model_form
    form_add = True
    model_form = form_handle.create_dynamic_model_form(admin_class, form_add)
    if request.method == "GET":
        # 實例化表單對象
        form_obj = model_form()
    elif request.method == "POST":
        print("request.POST", request.POST)
        form_obj = model_form(data=request.POST)
        if form_obj.is_valid():
            print("valid")
            form_obj.save()
        return redirect("/kingadmin/%s/%s/" % (app_name, model_name))

    return render(request, "kingadmin/model_obj_add.html", locals())
Exemplo n.º 13
0
def table_obj_change(request,app_name,model_name,obj_id):
    '''kingadmin 数据修改页'''

    admin_class = site.enable_admins[app_name][model_name]
    model_form = form_handle.create_dynamic_model_form(admin_class)
    #让表单变成是修改的表单
    obj = admin_class.model.objects.get(id=obj_id)

    #修改
    if request.method == 'GET':
        form_obj = model_form(instance=obj)

    elif request.method == 'POST':
        form_obj = model_form(instance=obj,data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            #修改后跳转到的页面
            return redirect("/kingadmin/%s/%s/"%(app_name,model_name))

    return render(request,'kingadmin/table_obj_change.html',locals())
Exemplo n.º 14
0
def model_obj_change(request, app_name, model_name, obj_id):
    """kingadmin 數據修改"""
    # form_obj = form_handle.CustomerForm()

    admin_class = site.enabled_admins[app_name][model_name]
    # 動態生成model_form
    form_add = False
    model_form = form_handle.create_dynamic_model_form(admin_class, form_add)
    # 資料對象
    obj = admin_class.model.objects.filter(id=obj_id)[0]
    if request.method == "GET":
        # 實例化表單對象
        form_obj = model_form(instance=obj)
    elif request.method == "POST":
        # print("request.POST", request.POST)
        form_obj = model_form(instance=obj, data=request.POST)
        if form_obj.is_valid():  # 判斷資料是否合法
            form_obj.save()  # 資料更新
        return redirect("/kingadmin/%s/%s/" % (app_name, model_name))

    return render(request, "kingadmin/model_obj_change.html", locals())