我如何通过名称引用Python类

时间:2016-05-19 04:06:15

标签: python flask

我的amin / views.py中有以下内容:

from flask import render_template
from .models import User, Role
from flask-classful import FlaskView

....
class BaseView(FlaskView):
    def __init__(self, template, class_name):
        self.template = template
        self.target_class = ???class_name  

    def get_all_records(self):
        return self.target_class.query.all()


class UserView(BaseView):
    def __init__(self):
        BaseView.__init__('admin/roles.html','User')

    def index(self):
        results = self.get_all_records()
        return render_template(self.template, results=results)

我知道我可以在每个子类中创建一个get_results方法,但唯一可以改变的是对类的引用。 DRY建议我在基类中这样做。

我确实找到了几个允许我从类名实例化新对象的解决方案,但我需要调用类方法而不是实例方法。

0 个答案:

没有答案