Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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_Python 3.x - Fatal编程技术网

Python 在这个django视图中,我的函数有什么错?

Python 在这个django视图中,我的函数有什么错?,python,django,python-3.x,Python,Django,Python 3.x,这应该很容易。。。我正在学习一门课程,按照这种结构,view.py文件可以独立于本次测验,这更像是一个挑战。好的,那么请求是这样的: 现在,创建一个名为article_list的视图,该视图选择所有项目实例并返回类似“There are 5 articles”的HttpResponse。请确保使用项目查询集的len()获取项目数 作为参考,第一部分是有效的。无论如何,view.py文件看起来是这样的(第一部分是我导入文章的地方…我想我不需要渲染导入。): 我不确定len函数和/或str函数是否应

这应该很容易。。。我正在学习一门课程,按照这种结构,view.py文件可以独立于本次测验,这更像是一个挑战。好的,那么请求是这样的: 现在,创建一个名为article_list的视图,该视图选择所有项目实例并返回类似“There are 5 articles”的HttpResponse。请确保使用项目查询集的len()获取项目数

作为参考,第一部分是有效的。无论如何,view.py文件看起来是这样的(第一部分是我导入文章的地方…我想我不需要渲染导入。):

我不确定len函数和/或str函数是否应该像这样链接,或者它们是否应该包装对象。我试着把articles.len().str()放进去,但似乎不起作用。
提前感谢您的帮助, 布鲁斯

你可以试试这个:

article_count = len(articles)
output = "There are {} articles.".format(article_count)
len是一个对对象调用的函数,format方法已经为您调用了str方法。

使用
.all()
仅计算记录数引入了一个:

如果只需要确定集合中的记录数(和 不需要实际对象),处理 使用SQL的SELECT count(*)在数据库级别进行计数。德扬戈 为此提供了count()方法

使用以下方法直接从数据库中获取
计数

这是一种普遍接受的统计记录的方法,除非实际需要记录实例,或者,如果有特定要求,如您的情况:

确保使用文章查询集的
len()
获取文章数

考虑到问题是如何表述的,@Andoni的回答应该被接受

注意:如果您只想确定集合中的记录数,请不要在QuerySet上使用len()。使用SQL的SELECT count(*)在数据库级别处理计数要高效得多,Django正是出于这个原因提供了count()方法。请参见下面的count()


我知道您对此无能为力,但请注意,使用len()的指令被严重误导,因为它会评估整个查询集,并毫无理由地检索所有文章。由于您只想对它们进行计数,因此在您的情况下,应该使用
count()
方法。这样可以从函数中给出响应。我认为这些挑战试图运行函数,看看它们是否达到预期效果。虽然这是真的,但OP的指示(可能是某种课程作业)明确告诉他这样做。是的,要获得计数,似乎没有必要获得文章列表。这种方法可能通过——或者起作用——即使它没有按照指示去做。另一个培训网站让我解决了一个问题,而没有完全按照要求去做。这是一种愚蠢的行为。我正在使用更有效的方法,但我们还没有做到。有时我甚至会在课程看起来有点基础或针对经验不足的人的时候看课程——很多时候我意识到我的理解中有一些不足之处。第二种方法实际上奏效了。系统接受了它。因此,他们同样必须运行代码,看看答案是否匹配。@Pynchia您需要解释原因。这是OP在指令中遇到的问题的正确答案。这是做指令中要求你做的错误事情的正确方法。@Pynchia,还有什么人?有时候学习一个新的框架需要先向浏览器发送一个简单的文本值,这是我们永远不会做的,我们会发送一个html页面。选择最佳答案是一个艰难的决定。这一个和下一个都一样好,所以这是一个折腾。在某些情况下,在给format函数赋值之前是否需要str?是否存在格式不调用str的情况?
article_count = len(articles)
output = "There are {} articles.".format(article_count)
articles_count = Article.objects.count()
output = "There are {} articles.".format(article_count)