Ich versuche eine klassenbasierte Ansicht aufzurufen und ich kann es tun, aber aus irgendeinem Grund bekomme ich nicht den Kontext der neuen Klasse, die ich rufeDjango Call Klassenbasierte Ansicht von einer anderen Klassen basierten Ansicht
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)
Was mache ich falsch Leute?
zu tun hatte, was diese tun werden soll? Was erhoffen Sie sich zu erreichen, indem Sie einfach diese Ansicht aufrufen? Ich denke, Sie müssen wahrscheinlich das Ergebnis des Aufrufs zurückgeben, aber da 'compute_context' eine nicht standardisierte Methode ist, ist es schwer sicher zu sein. –
ich bin irgendwie "erfrischend" meine Seite, so dass ich meine vorherige Seite mit einigen neuen Kontextdaten zurückrufe – psychok7
Ich gebe zurück self.render_to_response (self.compute_context (Anfrage, Benutzername)) – psychok7