生成错误的非常基本的Django教程:位于/hello/,hello()的TypeError没有参数(给定1个)

2024-09-30 14:20:57 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是django的教程: http://www.djangobook.com/en/2.0/chapter03/

我想,我是在循序渐进。然而,即使是最基本的Hello World也无法正常工作。在

视图.py

from django.http import HttpResponse

def hello(response):
    return HttpResponse("Hello world")

网址.py

^{pr2}$

服务器产生以下错误:

TypeError at /hello/
hello() takes no arguments (1 given)

这应该是如此简单,但它只是不起作用!在


Tags: djangofrompycom视图httphelloworld
2条回答

当您在view函数中得到一个TypeError时,view函数的参数不匹配。在

  1. 检查它是否将所需的request作为其第一个参数。在
  2. 确保来自urlpatterns的所有关键字参数都已就位。在

示例:

url(r'^user/(?name[\w\-]+)/$', 'user')

def user(request, name):
    #Your logic

请理解,为了提高效率,不要为每个请求自动重新加载所有文件。对于生产服务器,即使只是检查其中任何一个是否被修改也是一个相当昂贵的操作。有时您可以为开发系统启用此功能(如果存在这样的选项,请参阅手册)。在默认情况下不启用自动重新加载有很多很好的理由。特别是,太多的人最终会在他们的生产系统上启用它并抱怨性能。。。在

另一个原因是,过渡状态通常不一致,特别是当编辑影响多个文件时。然后,自动重新加载可能会导致一个可以通过完成编辑然后重新加载来避免的错误。(不过,这对于生产系统在线编辑文件是不可取的。但是,假设一个同步进程正在运行;您不希望您的服务器在同步时重新加载。)

在某些情况下,可以使用linux上的inotify等技巧让操作系统通知应用程序文件更改。我想manage.py脚本将执行如下操作。在

相关问题 更多 >