在
django中,当使用基于类的视图时,设置类级变量(例如template_name)是很常见的
class MyView(View):
template_name = 'index.html'
def get(self, request):
...
我想知道是否在运行时修改这些变量
class MyView(View):
template_name = 'index.html'
def get(self, request):
if some_contrived_nonce_function(): # JUST SO IT ONLY RUNS ONCE
self.template_name = 'something.html'
...
将仅持续该请求(每个请求创建一个新的MyView实例),或者它将持续所有后续请求(使用相同的MyView实例)
最佳答案 修改为:
self.template_name = 'something.html'
肯定只会持续该请求.
修改为:
type(self).template_name = 'something.html'
将导致新实例继承您的更改.