Tôi đang cố gọi một lớp dựa trên chế độ xem và tôi có thể làm điều đó, nhưng vì một lý do nào đó tôi không nhận được bối cảnh của lớp mới mà tôi đang gọiChế độ xem dựa trên Lớp gọi điện thoại Django từ chế độ xem lớp khác
class ShowAppsView(LoginRequiredMixin, CurrentUserIdMixin, TemplateView):
template_name = "accounts/thing.html"
@method_decorator(csrf_exempt)
def dispatch(self, *args, **kwargs):
return super(ShowAppsView, self).dispatch(*args, **kwargs)
def get(self, request, username, **kwargs):
u = get_object_or_404(User, pk=self.current_user_id(request))
if u.username == username:
cities_list=City.objects.filter(user_id__exact=self.current_user_id(request)).order_by('-kms')
allcategories = Category.objects.all()
allcities = City.objects.all()
rating_list = Rating.objects.filter(user=u)
totalMiles = 0
for city in cities_list:
totalMiles = totalMiles + city.kms
return self.render_to_response({'totalMiles': totalMiles , 'cities_list':cities_list,'rating_list':rating_list,'allcities' : allcities, 'allcategories':allcategories})
class ManageAppView(LoginRequiredMixin, CheckTokenMixin, CurrentUserIdMixin,TemplateView):
template_name = "accounts/thing.html"
def compute_context(self, request, username):
#some logic here
if u.username == username:
if request.GET.get('action') == 'delete':
#some logic here and then:
ShowAppsView.as_view()(request,username)
Tôi đang làm gì sai?
gì được này phải được thực hiện? Bạn đang hy vọng đạt được điều gì bằng cách đơn giản gọi cái nhìn đó? Tôi đoán bạn có thể cần phải trả lại kết quả của việc gọi nó, nhưng vì 'compute_context' là một phương pháp không chuẩn nên thật khó để chắc chắn. –
Tôi là loại "làm mới" trang của tôi vì vậy tôi đang nhớ lại trang trước của mình với một số dữ liệu ngữ cảnh mới – psychok7
tôi đang trả lại self.render_to_response (self.compute_context (yêu cầu, tên người dùng)) – psychok7