나는 사용자가 새로운 사용자를 추가 할 수있게 해주는 간단한 django 애플리케이션을 가지고있다. 우리가 새로운 사용자를 만들면, 메일은 각각의 email-id (새로운 사용자를 생성하는 동안 우리가 준 것)로 보낼 것이다. 이메일을 가진 새로운 사용자는 xxxx @ xxxx.com이라고 말합니다. 메일은 [email protected]으로 성공적으로 전송됩니다. 여기에는 아무런 문제가 없습니다.django에서 testcase 동안 이메일을 보내는데 오류가 있습니까?
그러나 새로운 사용자를 추가하기위한 테스트 케이스를 작성하려고하면 내 코드에서 이메일 전송 라인에 오류가 발생합니다. 즉 TypeError: __init__() takes at most 2 non-keyword arguments (6 given)
입니다. 코드는 아래와 같습니다 ,
#from my views.py,
Email().send_email(settings.FORGOT_SUBJECT, emailmessage, [username],
settings.CONTENT_TYPE)`
PLS 내가이 라인 동안 아무런 문제가 웹 페이지 & sucesfully.only 테스트 케이스 동안이 줄에 오류가 메일 전송에서 사용자를 만들어이 기억.
# code for SMTP connection
class Email:
def __init__(self):
return;
def send_email(self, subject, message, recipients, contenttype):
"""
Send email using smtp connection.
"""
try:
from django.core.mail import EmailMessage, SMTPConnection, send_mail
from settings import EMAIL_HOST, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_PORT, EMAIL_USE_TLS
finally:
connection = SMTPConnection(EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_USE_TLS)
emailMessage = EmailMessage(subject, message, settings.EMAIL_HOST_USER, recipients)
emailMessage.content_subtype = contenttype
connection.send_messages([emailMessage])
Pls는이 오류를 피하기 위해 해결책을 제시합니다.
TypeError: __init__() takes at most 2 non-keyword arguments (6 given)
미리 감사드립니다.
문제를보고있는 테스트 코드와 백 트레이스를 게시하십시오. –