2016-11-16 22 views
2

我正在探索Flask並對渲染模板有疑問。以下兩種說法會有什麼本質區別嗎?flask中的render()和render_template()有什麼區別?

return self.render('type_edit.html')

return render_template('type_edit.html')

+1

哪裏'self.render'從何而來?什麼類是「自我」的一個實例? – dirn

+0

@dirn'render'來自'flask-admin',請參閱:https://flask-admin.readthedocs.io/en/v1.0.7/_modules/flask/ext/admin/base/#BaseView.render – Jason

+0

Flask -Admin的'render'方法設置一些與管理相關的上下文變量,然後調用'render_template'。 – dirn

回答

1

render_template是模板燒瓶本身內渲染功能中的一個。 self.render本身不是燒瓶的一部分,但是它在一些燒瓶包中找到,如Flask-Admin。在這些包中,它在View類中使用。

這裏是正在使用的render_template一個例子:

@app.route('/') 
def index(): 
    return render_template("index.html") 

下面是一個例子燒瓶管理員的self.render

class IndexView(BaseView): 
    @expose('/') 
    def index(self): 
     return self.render('admin/index.html')