2016-11-23 6 views
1

それはすべてのこれらの行を保存するための最良の方法ではありませんが、私はいくつかの記事を読む:Flask-Admin - ModelViewにビューを追加する効率的な方法はありますか?

admin = Admin(app, name='talkcode', template_mode='bootstrap3') 
admin.add_view(ModelView(User, db.session)) 
admin.add_view(ModelView(Personal_User, db.session)) 
admin.add_view(ModelView(Curriculum_User, db.session)) 
admin.add_view(ModelView(Skills, db.session)) 
admin.add_view(ModelView(Question, db.session)) 
admin.add_view(ModelView(TagQuestion, db.session)) 
admin.add_view(ModelView(AnswerLong, db.session)) 
admin.add_view(ModelView(Snippet, db.session)) 
admin.add_view(ModelView(TagSnippet, db.session)) 
admin.add_view(ModelView(CommentSnippet, db.session)) 
path = os.path.join(os.path.dirname(__file__), 'static') 
admin.add_view(FileAdmin(path, '/static/', name='Static Files')) 

答えて

1

いいえ、これはあなたのビューを作成するための正しい方法です。

大きなプロジェクトの場合は、Adminクラスを拡張してコードを整理することをお勧めします。

class _Admin(Admin): 
    def add_model_view(self, model): 
     self.add_view(ModelView(model, db.session)) 

    def add_model_views(self, models): 
     for model in models: 
      self.add_model_view(model) 


admin.add_model_views([ 
    User, Personal_User, Curriculum_User, 
    Skills, Question, TagQuestion, 
    AnswerLong, Snippet, TagSnippet, CommentSnippet, 
]) 
関連する問題