当前位置: 首页 > 知识库问答 >
问题:

TypeError:__init__()接受1个位置参数,但给出了2个

鲁涵映
2023-03-14
Environment:
Request Method: GET
Request URL: http://localhost:8000/demo/

Django Version: 1.10.4
Python Version: 3.5.2
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'mydemoapp',
 'rest_framework']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 '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 "/home/aqib/DjangoProject/mydemoenv/lib/python3.5/site-    packages/django/core/handlers/exception.py" in inner
    39. response = get_response(request)

    File "/home/aqib/DjangoProject/mydemoenv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 
    187. response = self.process_exception_by_middleware(e, request)

    File "/home/aqib/DjangoProject/mydemoenv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
    185. response = wrapped_callback(request, *callback_args, **callback_kwargs)

    Exception Type: TypeError at /demo/
    Exception Value: __init__() takes 1 positional argument but 2 were given
from django.db import models

class ProfileModel(models.Model):
    name = models.CharField(max_length=30, blank=False, default='Your Name')
    address = models.CharField(max_length=100, blank=True)
    contact = models.IntegerField()

    def __str__(self):
        return '%s %s' % (self.name, self.address)
from django.shortcuts import render
from rest_framework import viewsets
from mydemoapp.models import ProfileModel
from .serializers import ProfileSerializer

class ProfileView(viewsets.ModelViewSet):
    profile = ProfileModel.objects.all()
    serializer_class = ProfileSerializer
from .models import ProfileModel
from rest_framework import serializers

class ProfileSerializer(serializers.ModelSerializer):

    class Meta:
        model = ProfileModel
        fields = ('name', 'address', 'contact')
from django.conf.urls import url
from mydemoapp import views

urlpatterns = [
url(r'^$', views.ProfileView),
]
from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^demo/', include('mydemoapp.urls')),
]

共有1个答案

朱越
2023-03-14

我经常犯这种愚蠢的错误。这是因为urls.py(应用程序)。始终记得调用.as_view()方法

错了

urls.py

from django.conf.urls import url
from mydemoapp import views

urlpatterns = [
url(r'^$', views.ProfileView),
]
from django.conf.urls import url
from mydemoapp import views

urlpatterns = [
url(r'^$', views.ProfileView.as_view()),
]
 类似资料:
  • 函数insert接受对链表中第一个节点的引用、新值和位置,并在列表中的给定位置插入具有给定值的新节点。 函数pop to引用链表中的第一个节点和一个位置,并删除链表中该位置的节点。 函数stringify_linked_list引用链表的第一个节点并返回链表中所有节点的可打印字符串。 到目前为止,我的代码如下。如果你对我如何修复它有任何想法,请让我知道。谢谢!

  • 在我的程序中,我主要想返回一个方法的结果,该方法测试两个学生之间的相等性(即,如果两个学生上的课的数量相等) 我创建了一个名为Student的类。然后我创建了两个函数并定义了它们的属性。实际上,我试图比较student类中的两个对象,而一个方法需要检查这两个对象之间的相等性。

  • Tkinter回调跟踪中的异常(最近的调用是最后一次): 文件“C:...\programs\python\python37\lib\tkinter__init__.py”,第1705行,在调用返回self.func(*args)typeError:done()接受1个位置参数,但给出了2个 有谁知道我犯了什么错误,能给我一个例子,如何使它更好和改进吗?

  • ...为什么Python告诉我我给了它两个参数,而我只给了一个?

  • 问题内容: 如果我有课… 我这样称呼 …为什么当我只给出一个参数时,Python告诉我给它两个参数? 问题答案: 在Python中,这是: …是语法糖,口译员在后台将其翻译为: …,如你所见,它确实有两个参数-从调用者的角度来看,只是第一个参数是隐式的。 这是因为大多数方法会对被调用的对象进行某些处理,因此需要某种方法在该方法内部引用该对象。按照惯例,第一个参数self在方法定义内调用: 如果你呼

  • 我正在运行一个celery任务,它需要两个参数,如下所示: 和: