我正在使用Django 1.41构建我的Web应用程序并使用GAE进行部署。所以非常好,一切似乎都在工作,除非我尝试在注册时向用户发送电子邮件,并允许用户能够更改他们的密码。 我得到NotimplementedError并且没有提供异常。我已经粘贴了下面的完整堆栈。我可能做错了什么?
Environment:
Request Method: POST
Request URL: http://1.ngloancalc.appspot.com/register/
Django Version: 1.4.1
Python Version: 2.7.2
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'carloan',
'registeredmember',
'contact')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/base/data/home/apps/s~ngloancalc/1.363534897067998089/registeredmember/views.py" in userregistration
36. connection.open()
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/core/mail/backends/smtp.py" in open
48. local_hostname=DNS_NAME.get_fqdn())
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/core/mail/utils.py" in get_fqdn
16. self._fqdn = socket.getfqdn()
File "/base/python27_runtime/python27_dist/lib/python2.7/socket.py" in getfqdn
129. hostname, aliases, ipaddrs = gethostbyaddr(name)
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/api/remote_socket/_remote_socket.py" in gethostbyaddr
313. raise NotImplementedError()
Exception Type: NotImplementedError at /register/
Exception Value:
Environment:
Request Method: POST
Request URL: http://www.ngloancalc.appspot.com/resetpassword/
Django Version: 1.4.1
Python Version: 2.7.2
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'carloan',
'registeredmember',
'contact')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/utils/decorators.py" in _wrapped_view
91. response = view_func(request, *args, **kwargs)
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/contrib/auth/views.py" in password_reset
160. form.save(**opts)
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/contrib/auth/forms.py" in save
242. send_mail(subject, email, from_email, [user.email])
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/core/mail/__init__.py" in send_mail
59. fail_silently=fail_silently)
File "/base/python27_runtime/python27_lib/versions/third_party/django-1.4/django/core/mail/__init__.py" in get_connection
31. mod_name, klass_name = path.rsplit('.', 1)
Exception Type: ValueError at /resetpassword/
Exception Value: need more than 1 value to unpack
答案 0 :(得分:3)
Django的电子邮件后端无法与App Engine的电子邮件API一起使用。
其他人创造了一个虽然
https://bitbucket.org/andialbrecht/appengine_emailbackends/overview
答案 1 :(得分:1)
仅用于开发目的的另一种解决方法是:
email_message.extra_headers['message-id'] = 'mydummymessageid'
这会阻止Django尝试创建一个,因此永远不会尝试在GAE开发环境中调用 gethostbyaddr