Python 不带返回语句的Userview
我听说这段代码在django中工作Python 不带返回语句的Userview,python,django,Python,Django,我听说这段代码在django中工作 class UserDetailView(LoginRequiredMixin, DetailView): model = User # These next two lines tell the view to index lookups by username slug_field = 'username' slug_url_kwarg = 'username' 因为我是Django的新手。此视图方法不返回render_t
class UserDetailView(LoginRequiredMixin, DetailView):
model = User
# These next two lines tell the view to index lookups by username
slug_field = 'username'
slug_url_kwarg = 'username'
因为我是Django的新手。此视图方法不返回render_to_响应或任何形式的HttpResponse值
附件是views.py
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from django.core.urlresolvers import reverse
from django.views.generic import DetailView, ListView, RedirectView, UpdateView
from django.contrib.auth.mixins import LoginRequiredMixin
from .models import User
class UserDetailView(LoginRequiredMixin, DetailView):
model = User
# These next two lines tell the view to index lookups by username
slug_field = 'username'
slug_url_kwarg = 'username'
class UserRedirectView(LoginRequiredMixin, RedirectView):
permanent = False
def get_redirect_url(self):
return reverse('users:detail',
kwargs={'username': self.request.user.username})
class UserUpdateView(LoginRequiredMixin, UpdateView):
fields = ['name', ]
# we already imported User in the view code above, remember?
model = User
# send the user back to their own page after a successful update
def get_success_url(self):
return reverse('users:detail',
kwargs={'username': self.request.user.username})
def get_object(self):
# Only get the User record for the user making the request
return User.objects.get(username=self.request.user.username)
class UserListView(LoginRequiredMixin, ListView):
model = User
# These next two lines tell the view to index lookups by username
slug_field = 'username'
slug_url_kwarg = 'username'
这些视图如何返回要转到的url而根本没有返回语句您使用的是通用视图()。您的视图是DetailView的子视图。看看这些文档,你会把事情弄清楚。它就在那里,你只是没有覆盖它。但在本例中,它覆盖了get\u context\u data方法。对不起,我不明白它的确切意思。我引入了未使用的新变量。文档对我没有多大帮助这不是Django的问题。正如Kroustou和Sayse所说,您的视图是一个类,继承自已经定义了所有方法的类。是的,它定义了所有方法。但在我看来,它如何知道我想要什么样的数据呢?这就是我不明白为什么它会起作用的原因。我查看了DetailView示例,它已经显示了一个get\u context\u数据方法。或者我遗漏了一些基本分子知道的东西,因为你告诉了它使用什么型号,从哪里得到子弹。这就是它所需要的,get_context_data的默认实现只调用get_对象,该对象使用这些参数获取相关项。