我通過什麼是送Django的500錯誤郵件在谷歌應用程序引擎的最佳方法?
libraries:
- name: django
version: "1.3"
使用最新的谷歌應用程序引擎(GAE)環境提供的最新工具,即Django的1.3由GAE文檔這裏指示。
不過,雖然我發現了很多的討論如何使用強大的GAE,Django的組合送祝福HTTP500電子郵件中的鏈接,所有的人,因爲他們要麼只是太舊或使用像AppEngineHelper或「附加」工具已經過時Django的nonrel。
回到我的問題:我建立了我的settings.py
遵循Django文檔說明here,由於在GAE opening sockets is restricted我結束了這個回溯:
ERROR 2012-03-21 23:11:15,855 base.py:209] Internal Server Error: /contact/
Traceback (most recent call last):
File "/home/josvic/dev-tools/google_appengine/lib/django_1_3/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/home/josvic/dev/qdsa/gae/apputil/decorators.py", line 14, in wrapper
output = func(request, *args, **kw)
File "/home/josvic/dev/qdsa/gae/qdcom/views/contact.py", line 26, in __call__
return self.f(request, *args, **kwargs)
File "/home/josvic/dev/qdsa/gae/qdcom/views/contact.py", line 59, in contact_page
msg.send()
File "/home/josvic/dev-tools/google_appengine/lib/django_1_3/django/core/mail/message.py", line 251, in send
return self.get_connection(fail_silently).send_messages([self])
File "/home/josvic/dev-tools/google_appengine/lib/django_1_3/django/core/mail/backends/smtp.py", line 79, in send_messages
new_conn_created = self.open()
File "/home/josvic/dev-tools/google_appengine/lib/django_1_3/django/core/mail/backends/smtp.py", line 42, in open
local_hostname=DNS_NAME.get_fqdn())
File "/home/josvic/dev-tools/google_appengine/lib/django_1_3/django/core/mail/utils.py", line 16, in get_fqdn
self._fqdn = socket.getfqdn()
AttributeError: 'module' object has no attribute 'getfqdn'
所以這就是問題所在。我們有避開這個問題的標準方法嗎?
我能想到的繞過這個問題的唯一一件事就是訴諸使用GAE的標準郵件API定製500error
處理程序。
如何Django的nonrel「腐朽」?這是一個完全維護的項目,與業主和貢獻者。你什麼意思? – 2012-03-22 01:49:19
@DanielRoseman嗨丹尼爾。感謝您的評論。我用「額外」取代了「衰退」。你是對的。我的意思是「衰減」,因爲在Python2.7環境和CloudSQL中,你根本不需要django-nonrel來運行傳統的Django應用程序,也就是說,從現在開始,我的意思是更多的是「衰減」的用例,而不是腐朽的工具。在GAE上可以有一個關係數據庫後端。 django-nonrel意味着與noSQL db一起使用,而不僅僅用於GAE;你是對的。 – 2012-03-22 10:30:46