Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 类没有';对象';django成员_Python_Django_Django Views - Fatal编程技术网

Python 类没有';对象';django成员

Python 类没有';对象';django成员,python,django,django-views,Python,Django,Django Views,你有两个不同的问题,而不是像你说的那样只有一个: E1101:类“目的地”没有“对象”成员:是一个警告 这是因为pylint不知道我们的特殊Django变量。一个像pylint这样的插件可能会达到这个目的 E0601:在赋值之前使用变量'Destination':在代码的for循环中定义了一个名为Destination的变量。这不仅是一种不好的做法,因为python变量需要使用小写字母_下划线,而且它会覆盖目标类,这就是导致此错误的原因。你可能想做这样的事情: E1101:Class 'Dest

你有两个不同的问题,而不是像你说的那样只有一个:

E1101:类“目的地”没有“对象”成员
:是一个警告 这是因为
pylint
不知道我们的特殊Django变量。一个像pylint这样的插件可能会达到这个目的

E0601:在赋值之前使用变量'Destination'
:在代码的for循环中定义了一个名为
Destination
的变量。这不仅是一种不好的做法,因为python变量需要使用
小写字母_下划线
,而且它会覆盖
目标
,这就是导致此错误的原因。你可能想做这样的事情:

E1101:Class 'Destination' has no 'objects' member
E0601:Using variable 'Destination' before assignment

你在你的观点中写道:

for d in boards:
# Or:
for destination in boards:

尽管如此,我仍然不相信这能解决问题,因为
destinationtext
可能包含HTML,然后会在响应中混淆。通常最好使用模板。

您在…中为目标编写了
,因此覆盖了对类的引用。这与Pylint无关:这是一个真正的错误,由于
for
循环将
Destination
视为局部变量。@WillemVanOnsem错误是
Destination
没有变量
对象
,这是指行
Destination.objects.all()
,在创建同名局部变量前两行。否,这是一个派林提示,但是如果运行它,它不会出错。错误发生在OP声明该变量之前的两行。这是个问题,但不是问题。@Nonamel:当然是问题。您认为“在赋值之前使用变量‘Destination’是什么意思?似乎我们都是对的,因为OP有两个错误:
E1101:类‘Destination’没有‘objects’成员
E0601:在赋值之前使用变量‘Destination’
@NonameSL:但这是两个PyLint警告。Pylint抱怨很多不会引起错误,它只是想提高代码质量。没错,但问题的标题是
类在django中没有“objects”成员,而这正是OP认为他得到的错误。你是对的,但我只是引用了OP认为他们得到的错误,第二个错误,正如你所说的,不仅仅是一个警告,是一个错误。
for d in boards:
# Or:
for destination in boards:
for Destination in boards:
    # ...
from django.http import HttpResponse
from .models import Destination

def index(request):
    response_html = '<br>'.join(
        Destination.objects.values_list('destinationtext', flat=True)
    )
    return HttpResponse(response_html)