zoukankan      html  css  js  c++  java
  • Xadmin添加,编辑,删除

     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()})
     
  • 相关阅读:
    ASP.NET使用Coolite.Ext.Web.dll,显示ext"未定义"的解决方法
    浏览器引擎模式与DOCTYPE
    MVC 参数如何自动绑定数组对象
    IIS7.5 配置 PHP
    TFSDeleteProject:删除团队项目
    自动生成存储过程一
    如何更新ntext字段信息
    清除所有默认样式的CSS代码
    自定义动作过滤器属性
    IE9点击别的网页弹出空白页
  • 原文地址:https://www.cnblogs.com/chongdongxiaoyu/p/9177796.html
Copyright © 2011-2022 走看看