Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不带返回语句的Userview_Python_Django - Fatal编程技术网

Python 不带返回语句的Userview

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

我听说这段代码在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_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_对象,该对象使用这些参数获取相关项。