Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask Admin中基于类的视图的url__Python_Flask_Flask Admin - Fatal编程技术网

Python Flask Admin中基于类的视图的url_

Python Flask Admin中基于类的视图的url_,python,flask,flask-admin,Python,Flask,Flask Admin,我有一个基于类的管理视图: class All_RDPs(BaseView): @expose('/') def index(self): return 'ok1' @expose('/test') def testindex(self): return 'ok2' 已向Flask Admin注册,如下所示: admin.add_view(All_RDPs(name='dep_rdp')) 然后可以从浏览器中查看,如下所示: h

我有一个基于类的管理视图:

class All_RDPs(BaseView):
    @expose('/')
    def index(self):
        return 'ok1'
    @expose('/test')
    def testindex(self):
        return 'ok2'
已向Flask Admin注册,如下所示:

admin.add_view(All_RDPs(name='dep_rdp'))
然后可以从浏览器中查看,如下所示:

http://localhost/admin/all_rdps/
http://localhost/admin/all_rdps/test
问题是:

  • 如何指定此类的URL而不是默认生成的名称
    all_rdp
  • 如何使用的
    url\u为这些端点生成url<代码>url(用于('admin.All\u RDPs.testindex')
    url(用于('admin.All\u RDPs'))
    不起作用
  • 通过将端点参数传递给,可以覆盖端点名称 视图类构造函数:

    admin = Admin(app)
    admin.add_view(MyView(endpoint='testadmin'))
    
    在这种情况下,可以通过连接view方法来生成链接 具有端点的名称:

    url_for('testadmin.index')
    
    如果不重写端点名称,则可以使用小写的类名 用于生成URL,如:

    url_for('myview.index')
    
    对于基于模型的视图,规则不同-模型类名应 如果未提供端点名称,则使用。ModelView还具有 默认情况下,这些终结点为:.index\u视图、.create\u视图和.edit\u视图。 因此,可以为名为“用户”的模型生成以下URL:

    资料来源:

    # List View
    url_for('user.index_view')
    
    # Create View (redirect back to index_view)
    url_for('user.create_view', url=url_for('user.index_view'))
    
    # Edit View for record #1 (redirect back to index_view)
    url_for('user.edit_view', id=1, url=url_for('user.index_view'))