Xadmin添加,编辑,删除

1.HTML

编辑和添加页面得内容相同,使用include将他们整合
{% include xxx.html %} 获取指定页面的所有内容
1.单独建个html存放编辑和添加页面得代码:
'''
forms.HTML
<form action="" method="post" novalidate >
    {% csrf_token %}
    {% for foo in form_obj %}
        <div class="form-group">
            <label for="">{{ foo.label }}</label>
            {{  foo }}  <span> {{  foo.errors.0}}</span>
        </div>
    {% endfor %}
    <input type="submit" class="btn btn-default">
</form>


'''
编辑和添加页面
<div class="container " style="margin-top: 30px" >
    <div class="row">
        <div class="col-md-4 col-md-offset-3">
            {% include 'forms.html' %}
        </div>
    </div>
</div>

2.views.py

add

 def add_view(self, request):
        # list_url="%s/%s/"%(self.app_name,self.model_name)
        DemoModelForm=self.get_model_form_class() #得到定义的ModelForm组件类
        if request.method=='POST':
            form_obj=DemoModelForm(request.POST)
            if form_obj.is_valid():
                form_obj.save()
                # return redirect(list_url)  #不能用,相当于在当前路径后面拼接
                return redirect(self.get_list_url())
            else:
                return render(request,'add_view.html',locals())
        form_obj = DemoModelForm()
        return render(request, 'add_view.html', locals())

edit

    def change_view(self, request, id):
        DemoModelForm = self.get_model_form_class()  # 得到定义的ModelForm组件类
        change_obj=self.model.objects.get(pk=id)
        if request.method == 'POST':
            form_obj = DemoModelForm(request.POST,instance=change_obj)
            if form_obj.is_valid():
                form_obj.save()
                # return redirect(list_url)  #不能用,相当于在当前路径后面拼接
                return redirect(self.get_list_url())
            else:
                return render(request, 'change_view.html', locals())
        form_obj = DemoModelForm(instance=change_obj)
        return render(request, 'change_view.html', locals())

del

 def del_view(self, request, id):
        if request.method=='POST':
            self.model.objects.get(pk=id).delete()
            return redirect(self.get_list_url())
        return render(request,"del_view.html",{"url":self.get_list_url()})

转载于:https://www.cnblogs.com/zgf-666/p/9161867.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值