Python Django视图使用简单的GET方法会导致TypeError
使用一个非常简单的Python Django视图使用简单的GET方法会导致TypeError,python,django,Python,Django,使用一个非常简单的django.views.View子类我得到了一个TypeError和\uuuuu init\uuuuu()接受1个位置参数,但给出了2个作为错误消息 url.py是: myapp导入视图中的 从django.url导入路径 URL模式=[ 路径('webhook/',views.webhook,name='myapp-webhook'), ] views.py: 从django.http导入HttpResponse,HttpResponseForbidden 从django
django.views.View子类
我得到了一个TypeError
和\uuuuu init\uuuuu()接受1个位置参数,但给出了2个作为错误消息
url.py是:
myapp导入视图中的
从django.url导入路径
URL模式=[
路径('webhook/',views.webhook,name='myapp-webhook'),
]
views.py:
从django.http导入HttpResponse,HttpResponseForbidden
从django.views导入视图
类Webhook(视图):
def get(自我、请求、*args、**kwargs):
“此处不提供访问权限。”
#返回403(禁止)
返回HttpResponseForbidden()
def post(自我、请求、*args、**kwargs):
#返回200(正常)
返回HttpResponse()
tests.py:
来自django.test的导入测试用例
类WebhookTests(测试用例):
def测试获取方法被禁止(自身):
response=self.client.get('/webhook')
self.assertEqual(response.status_代码,403)
现在,无论是在浏览器中访问/webhook
,还是运行/manage.py test
都会导致:
Internal Server Error: /webhook/
Traceback (most recent call last):
[...]
TypeError: __init__() takes 1 positional argument but 2 were given
我肯定错过了一些东西。非常感谢为您提供这方面的指导。而不是:
urlpatterns = [
path('webhook/', views.Webhook, name='myapp-webhook'),
]
使用views.Webhook.as\u view()
:
谢谢这与预期的一样,并且还显示测试方法中的URI缺少一个尾随“/”(这导致301重定向指向正确的地址)。
urlpatterns = [
path('webhook/', views.Webhook.as_view(), name='myapp-webhook'),
]