appengine неправильно сконфигурированная ошибка базы данных при попытке отправить почту (используя django_bootstrap)

Я использую django_bootstrap.py, есть подобные ошибки, но я не мог найти решение для этого. Я использую помощник Django (пожалуйста, не предлагайте non-rel)

То, что я пытался сделать, было на статическом html js веб-сайте с функцией отправки почты через контактную форму. Форма будет принимать данные, а jQuery будет проверять и отправлять POST AJAX-запрос к URL-адресу "/sendmail/" views.py. У меня есть следующий код:

def sendmail(request):
    logging.info("here1")
    msg = request.POST['comment'];    sub = request.POST['subject']
    name = request.POST['name'];    frm = request.POST['email']
    sender = name + " " + frm
    logging.info(sender)
    a = mail.send_mail(sender=sender,
              to="to@example.com",
              subject=sub,
              body=msg)
    logging.info(request)
    logging.info(a)
    return http.HttpResponse("1")

Я не получаю абсолютно никакой ошибки, когда я удаляю строку:

a = mail.send_mail(sender=sender,
                  to="to@example.com",
                  subject=sub,
                  body=msg)

Однако с этой строкой я получаю следующую ошибку:

<class 'django.core.exceptions.ImproperlyConfigured'>: You haven't set the DATABASE_ENGINE setting yet.

Я смотрю на мой файл settings.py и пытаюсь внести некоторые изменения: 1 добавив две строки, как сделано в django-nonrel settings.py

   DATABASES['native'] = DATABASES['default']
   DATABASES['default'] = {'ENGINE': 'dbindexer', 'TARGET': 'native'}

Это дало ошибку 500 на сервере, и страница не открылась.

2 Я пытался положить

   DATABASE_ENGINE = 'dummy'

Это работает локально, но не работает на сервере (appspot).

3 я пытался положить

DATABASE_ENGINE = 'appengine'

Это тоже дает ошибку 500.

Пожалуйста, дайте мне знать, как решить это.

2 ответа

Если вы не используете базу данных в своем приложении, вы можете установить DATABASES = {} в вашем файле settings.py. Это решит проблему "Вы еще не установили настройку DATABASE_ENGINE".

Это выглядит запутанным во всех отношениях. Не используйте bootstrap.py, он выглядит устаревшим, так как пытается загрузить django 0.96. GAE теперь поддерживает django 1.3.

Пожалуйста, не используйте помощник Django. Это не поддерживается и не поддерживается никем. Если у вас есть проблемы с ним, решение состоит в том, чтобы перейти на nonrel.

Я рекомендую правильно установить django-nonrel. Имейте в виду, что django-nonrel - полная замена django. В основном это то же самое, но некоторые части модифицированы для работы с бэкэндами appengine. Вы не можете взять кусочки django-nonrel и ожидать, что он будет работать с обычным django, без изрядного количества хакерских атак. Строки DATABASES в файле настроек будут работать только с django-nonrel.

http://www.allbuttonspressed.com/projects/djangoappengine

У помощника Django нет почтового сервера, использующего почтовый API appengine. Это доступно в пакете Djangoappengine от Django-nonrel.

Другие вопросы по тегам