/ __init__() 处的 TypeError 恰好采用 1 个参数(给定 2 个)

2024-05-07

我有点困惑为什么会出现这个错误。我不知道这个额外的参数是从哪里来的。

Environment:


Request Method: GET
Request URL: http://0.0.0.0:5000/

Django Version: 1.6.4
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'nirla.apps.blog')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  114.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)

Exception Type: TypeError at /
Exception Value: __init__() takes exactly 1 argument (2 given)

由于这是一个全新的项目,我有点迷失。我认为可能是我将我的网址指向同一位置两次(一次在我的主网址配置中,一次在应用程序本身中),但一旦我删除了一个,这似乎并没有解决它。

作为参考,这是我正在运行的视图:

class home(View):
    template_name = "blog/home.html"

    def get(self, request, *args, **kwargs):

        return render(request, self.template_name)

这是主要的 urls.py:

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
from nirla.apps.blog.views import home


urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', home, name='home'),
)

正如你所看到的,我刚刚开始这个项目,一切都很简单。我可以提供更多信息,但该项目是空的。

感谢您帮助菜鸟。


Home 是一个基于类的视图。对于这些,您需要使用as_viewURL 模式中的方法:

url(r'^$', home.as_view(), name='home'),

See the 文档 https://docs.djangoproject.com/en/1.7/topics/class-based-views/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

/ __init__() 处的 TypeError 恰好采用 1 个参数(给定 2 个) 的相关文章

随机推荐