Javascript 使用烧瓶管理和sqlalchemy;现在我正在尝试创建一个表单来添加/删除/编辑我的表

Javascript 使用烧瓶管理和sqlalchemy;现在我正在尝试创建一个表单来添加/删除/编辑我的表,javascript,jquery,html,sqlalchemy,flask-admin,Javascript,Jquery,Html,Sqlalchemy,Flask Admin,我创建了一个自定义视图,该视图以手风琴式的方式组织我的所有产品和服务,以便数据对用户友好。以下是我的自定义视图: class productView(BaseView): form_columns = ['name','price'] @expose('/') def index(self): myServ = Product.query.all() myProd = Productcategories.query.all()

我创建了一个自定义视图,该视图以手风琴式的方式组织我的所有产品和服务,以便数据对用户友好。以下是我的自定义视图:

class productView(BaseView):
    form_columns = ['name','price']
    @expose('/')
    def index(self):
        myServ = Product.query.all()
        myProd =  Productcategories.query.all()
        return self.render('admin/products.html', myProd = myProd, myServ = myServ)


admin.add_view(productView(name='Products and Services', endpoint='products'))
然后,我开始创建我的HTML视图,它就像gangbusters一样工作。我现在所做的是,我创建了一些按钮,使用jquery加载一个模式。这也很有效。然而,我有点陷入了下一步

一旦我点击“提交”按钮,我如何告诉它添加/删除/编辑特定项目

//按钮脚本
$(文档).ready(函数(){
$(“.add category item”)。单击(函数(){
$('.bg modal').fadeIn('slow');
});
$(“.close”)。单击(函数(){
$('.bg model').fadeOut('slow');
});
});
$(文档).ready(函数(){
$(“.subtract category item”)。单击(函数(){
$('.bg modal').fadeIn('slow');
});
$(“.close”)。单击(函数(){
$('.bg model').fadeOut('slow');
});
});
$(文档).ready(函数(){
$(“.edit category item”)。单击(函数(){
var parent=$(this.attr(“数据父项”);
$('#papa').val(父母);
console.log(“父目录为:“+parent”);
$('.bg modal').fadeIn('slow');
});
$(“.close”)。单击(函数(){
$('.bg model').fadeOut('slow');
});
});

  • {{prod.category_name}
  • +
    如果您没有使用flask admin通用删除和编辑视图,您可以公开一个路由,该路由将为您执行删除/编辑操作,并将此路由添加为表单
    操作

    比如说

    class productView(BaseView):
        form_columns = ['name','price']
        @expose('/')
        def index(self):
            myServ = Product.query.all()
            myProd =  Productcategories.query.all()
            return self.render('admin/products.html', myProd = myProd, myServ = myServ)
    
        @expose('/custom_delete')
        def custom_delete(self):
            # write custom code to delete from the database
            return self.render('admin/products.html', myProd = myProd, myServ = myServ)
    
    然后在你的HTML中

    <div style="display: none;" class="bg-modal">
      <div class="modal-contents">
    
        <div class="close">+</div>
    
        <form action="{{url_for('.custom_delete')}}">
          <input type="text" placeholder="Name of category">
          <input type="text" id="papa">
          <a href="#" class="button">Submit</a>
        </form>
    
      </div>
    </div>
    
    
    +
    

    您的表单将被提交到端点,您可以在后端处理删除操作

    在我的头撞到其他部分后,我只想确保您知道这是有效的!非常感谢你的帮助!令人惊叹的!很高兴我能帮忙