刷新显示数据
Refreshing displayed data
我让这个视图正常工作并正确显示所有内容。虽然当我更新数据库时,显示的数据不会在视图中更新。
通过重新启动 httpd 服务器,它会更新显示的数据。
from django.views.generic import ListView
from django.contrib.auth.mixins import LoginRequiredMixin
from django.shortcuts import render_to_response
from player.models import .
list = [123,155,166,445]
class Stats(LoginRequiredMixin, ListView):
model = Table
template_name = 'stats.html'
object_list = Table.objects.all()
data = object_list.filter(id__in= list)
contract = [x.Contract for x in data]
will = [x.Will for x in data]
def get(self, request,):
context = locals()
context['contract'] = self.contract.count('Deed1')
context['will'] = self.will.count('Death')
return render_to_response(self.template_name, context)
我希望让它在页面刷新时显示新计数。非常感谢任何朝着正确方向的推动。
您不能对 class 本身定义中的模型进行操作;这只会在首次导入 class 时执行一次。您应该在 class 中的方法中执行类似的操作。这应该是get_context_data
;事实上你也应该把那些其他的操作移到那里,你不应该覆盖 get()
.
我让这个视图正常工作并正确显示所有内容。虽然当我更新数据库时,显示的数据不会在视图中更新。
通过重新启动 httpd 服务器,它会更新显示的数据。
from django.views.generic import ListView
from django.contrib.auth.mixins import LoginRequiredMixin
from django.shortcuts import render_to_response
from player.models import .
list = [123,155,166,445]
class Stats(LoginRequiredMixin, ListView):
model = Table
template_name = 'stats.html'
object_list = Table.objects.all()
data = object_list.filter(id__in= list)
contract = [x.Contract for x in data]
will = [x.Will for x in data]
def get(self, request,):
context = locals()
context['contract'] = self.contract.count('Deed1')
context['will'] = self.will.count('Death')
return render_to_response(self.template_name, context)
我希望让它在页面刷新时显示新计数。非常感谢任何朝着正确方向的推动。
您不能对 class 本身定义中的模型进行操作;这只会在首次导入 class 时执行一次。您应该在 class 中的方法中执行类似的操作。这应该是get_context_data
;事实上你也应该把那些其他的操作移到那里,你不应该覆盖 get()
.