send_email()接受1个位置参数,但给出了3个位置参数-Django Python
我正试图从我的Django python项目发送一封测试电子邮件,并遵循Django文档。当执行下面的函数时,我得到一个错误(附图片)。我做错了什么 错误: 回溯: 为了澄清我的问题,我还添加了一个回溯。希望能有帮助send_email()接受1个位置参数,但给出了3个位置参数-Django Python,django,python-3.x,pycharm,Django,Python 3.x,Pycharm,我正试图从我的Django python项目发送一封测试电子邮件,并遵循Django文档。当执行下面的函数时,我得到一个错误(附图片)。我做错了什么 错误: 回溯: 为了澄清我的问题,我还添加了一个回溯。希望能有帮助 File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner 35.
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
35. response = get_response(request)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/contrib/admin/options.py" in wrapper
574. return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/utils/decorators.py" in _wrapped_view
142. response = view_func(request, *args, **kwargs)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
44. response = view_func(request, *args, **kwargs)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/contrib/admin/sites.py" in inner
223. return view(request, *args, **kwargs)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/utils/decorators.py" in _wrapper
62. return bound_func(*args, **kwargs)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/utils/decorators.py" in _wrapped_view
142. response = view_func(request, *args, **kwargs)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/utils/decorators.py" in bound_func
58. return func.__get__(self, type(self))(*args2, **kwargs2)
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/contrib/admin/options.py" in changelist_view
1596. response = self.response_action(request, queryset=cl.get_queryset(request))
File "/home/jimtiaz/PycharmProjects/TestAoo/venv/lib/python3.6/site-packages/django/contrib/admin/options.py" in response_action
1330. response = func(self, request, queryset)
Exception Type: TypeError at /admin/home/something
Exception Value: send_email() takes 1 positional argument but 3 were given
正如您在评论中指出的,此代码用于管理操作。然而,在文档的一节中,指出这样的函数应该有三个参数。举个例子:
def make_published(modeladmin, request, queryset):
queryset.update(status='p')
您的函数只接受一个参数,但使用三个参数调用,因此会出现错误
将函数定义更改为:
def send_email(modeladmin, request, queryset):
什么是呼叫
发送电子邮件
?很明显,函数签名需要一个参数,不清楚的是用三个参数调用它。@JaredGoguen,让我详细检查跟踪。会回到you@JaredGoguen,我在问题中添加了追溯。这对您有帮助吗?显示您的URL.py
,您在其中将此函数连接到URL。@ThijsvanDien我没有为此函数分配任何URL。我在管理页面中添加了这样的操作:“操作=[编辑所选员工,发送邮件]”。当我选择send_mail并按下“Go”按钮时,它会被调用,然后它会随着一个递归错误@NickT崩溃,这是怎么回事?他的函数名非常相似,但不等于导入的函数。啊,错过了e。关于删除答案的评论根本没有提及这一点all@ThijsvanDien工作得很好。现在我得到这个错误,这是有关发送电子邮件。ConnectionRefusedError。。create中的位置是/usr/lib/python3.6/socket.py_connection@ThijsvanDien我想我错过了settings.py文件中的SMTP设置,这就是连接被拒绝的原因
def send_email(modeladmin, request, queryset):