假定在POST方法之前至少一次调用get方法(这不是我的实际代码,如果有任何愚蠢的错误,不要考虑它,我的问题是我可以实例化并使用下面的静态变量)
class McqView(View):
course=None
all_questions=None
start_time=None
def get(self,request,someid):
if not McqView.course:
McqView.course = Course.objects.get(id=someid)
if not McqView.all_questions:
McqView.all_questions = Question.objects.filter(course=McqExamView.course)
if not McqView.start_time:
McqView.start_time = datetime.now()
#using the static variables somewhere here
def post(self,request):
#using the same static variables somewhere here
我曾想过使用这两个变量作为成员变量,但这是不可能的。所以我想用这两个变量作为静态变量。使用此方法时会出现任何问题吗?喜欢 1.静态变量变为无 2.静态变量多次实例化。 如果发生第二种情况,则start_时间变量值将出错
请告诉我这是否是一种错误的方法,如果是错误的,请告诉我另一种方法
虽然基于最小类的视图不需要任何类属性来执行其工作,但类属性在许多基于类的设计中非常有用,有两种方法可以配置或设置类属性
第一种是标准的Python方法,用于对子类中的属性和方法进行子分类和重写。因此,如果父类具有如下属性
greeting
:您可以在子类中重写它:
另一个选项是将类属性配置为URLconf中的
as_view()
调用的关键字参数:注意-当为每个发送到它的请求实例化类时,通过
as_view()
入口点设置的类属性在导入URL时只配置一次相关问题 更多 >
编程相关推荐