Passing Arguments to ModelView edit template in flask-admin

后端 未结 1 684

I am trying to learn more about Flask by building a CMS. I am using flask-admin to add the posts, images etc.

I have managed to override textarea with ckeditor. But I w

1条回答
  •  误落风尘
    2021-02-07 19:27

    You have to override the views to change _template_args.

    class TestAdmin(ModelView):
        form_overrides = dict(text=forms.CustomTextAreaField)
        create_template = 'edit.html'
        edit_template = 'edit.html'
    
        @expose('/edit/', methods=('GET', 'POST'))
        def edit_view(self):
             self._template_args['foo'] = 'bar'
             return super(TestAdmin, self).edit_view()
    

    If you want to pass some global value to templates, you can use a context_processor (http://flask.pocoo.org/docs/templating/#context-processors).

    @app.context_processor
    def inject_paths():
        # you will be able to access {{ path1 }} and {{ path2 }} in templates
        return dict(path1='x', path2='y')
    

    0 讨论(0)
提交回复
热议问题