我正在尝试调试我的DJango Paypal IPN integration,但我正在努力。 Django dev服务器向控制台报告500错误(但没有其他详细信息),IPN测试工具报告500错误,但没有其他详细信息。
我尝试禁用DEBUG
模式试图让它向我发送电子邮件但是尽管将EMAIL_HOST设置为合适的内容,但我没有看到任何电子邮件。我尝试并验证电子邮件系统正在调用send_mail ..但是成功了,我仍然看不到有关内部服务器错误的电子邮件。
我能错过什么?
修改
我正在从PyCharm运行开发服务器,控制台输出如下所示:
runnerw.exe C:\Python26\python.exe manage.py runserver 192.168.1.4:80
Validating models...
0 errors found
Django version 1.4 pre-alpha, using settings 'settings'
Development server is running at http://192.168.1.4:80/
Quit the server with CTRL-BREAK.
Verifying...
...response: VERIFIED
IpnEndPoint.on_process
Valid: {u'last_name': u'Smith', u'txn_id': u'491116223', u'receiver_email': u'seller@paypalsandbox.com', u'payment_status': u'Completed', u'tax': u'2.02', u'payer_status': u'unverified', u'residence_country': u'US', u'invoice': u'abc1234', u'address_state': u'CA', u'item_name1': u'something', u'txn_type': u'cart', u'item_number1': u'AK-1234', u'quantity1': u'1', u'payment_date': u'14:03:49 Nov 16, 2011 PST', u'first_name': u'John', u'mc_shipping': u'3.02', u'address_street': u'123, any street', u'charset': u'windows-1252', u'custom': u'xyz123', u'notify_version': u'2.4', u'address_name': u'John Smith', u'address_zip': u'95131', u'test_ipn': u'1', u'receiver_id': u'TESTSELLERID1', u'payer_id': u'TESTBUYERID01', u'mc_handling1': u'1.67', u'verify_sign': u'A8SIYWSxkrwNPfuNewSuxsIAatvMAi2mxYjlYvaiWh3Z4BuIQojK3KBO', u'mc_handling': u'2.06', u'mc_gross_1': u'9.34', u'address_country_code': u'US', u'address_city': u'San Jose', u'address_status': u'confirmed', u'address_country': u'United States', u'mc_fee': u'0.44', u'mc_currency': u'USD', u'payer_email': u'buyer@paypalsandbox.com', u'payment_type': u'instant', u'mc_shipping1': u'1.02'}
Logging Transaction..
[16/Nov/2011 22:20:49] "POST /IPN/ HTTP/1.0" 500 104946
答案 0 :(得分:2)
要尝试的另一件事是在您的计算机上启动一个简单的SMTP服务器。
python -m smtpd -n -c DebuggingServer localhost:1025
将在您的控制台上输出所有电子邮件标题和正文。 确保localhost和端口1025分别与您在settings.py中的内容相对应,分别在EMAIL_HOST和EMAIL_PORT中。
答案 1 :(得分:1)
鉴于您正在运行django的pre-alpha版本,我建议在django用户列表https://groups.google.com/group/django-users上提出这个问题
答案 2 :(得分:0)
它记录了500个错误(也支持定期记录),使事后可以浏览动态“橙色500页”。当您从未获得原始错误页面时,这尤其有用,例如:当像你的情况一样使用ajax或远程apis时