python - emails - sendgrid



تمت تهيئة غير صحيح: تم طلب الإعداد DEFAULT_INDEX_TABLESPACE، ولكن لم تتم تهيئة الإعدادات (1)

يبدو أنك تحصل على هذا الخطأ لأن دب إنجين يفتقد بعض الإعدادات المهمة. ماذا لو قمت بتحرير الشفرة الخاصة بك مثل هذا؟

import sys, os
sys.path.append('/path/to/your/app')
os.environ['DJANGO_SETTINGS_MODULE'] = 'hello.settings'
from django.conf import settings
print "Started listening at port 1025"
...

أو طريقة أخرى هي محاولة لتحريك os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hello.settings") في الجزء العلوي من الملف الخاص بك (ولكن بعد استيراد os ، وبطبيعة الحال) آخر الإختراق القذر قليلا هو:

if __name__ == "__main__":
    from django.core.management import execute_from_command_line    
    execute_from_command_line(sys.argv)

الشيء التالي الذي يمكنك تجربته:

$ ./manage.py shell
...
>>> execfile('your_script.py')

أيضا، أي خط يلقي والاستثناء؟

أحاول جعل ملقم مباشر سمتب كتطبيق منفصل في جانغو. كلما أحاول تشغيل ملف python smtp.py للاستماع إلى الرسائل الواردة وتخزينها في النماذج، وأحصل على خطأ بشكل غير صحيح.

smtp.py

import os
import smtpd
import asyncore
import datetime
from models import IncomingEmail
from email.parser import Parser

class MessageServer():
    def __call__(self, peer, mailfrom, recipients, data):

        email = Parser().parsestr(data)

        incomingDb = IncomingEmail(
                sender=mailfrom, recipient=recipients,
                message=data, subject=email['subject'],
                recevied=datetime.datetime.now()
                )
        incomingDb.save()

class customSMTPServer(smtpd.SMTPServer):
    process_message = MessageServer()

if __name__ ==  "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hello.settings")
    server = customSMTPServer(('localhost', 1025), None)
    print "Started listening at port 1025"
    try:
        asyncore.loop()
    except KeyboardInterrupt:
        server.close()

هيكل المشروع:

hello/
 manage.py
 hello/
  __init__.py
  settings.py
  urls.py
  wsgi.py
 smtp/
  smtp.py
  models.py
  __init__.py
 api/
  admin.py
  apps.py
  urls.py
  views.py

الخطأ:

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environ
ment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.




smtp