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

Я использую 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 ]

0 голосов
/ 08 сентября 2012

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

0 голосов
/ 23 марта 2012

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

Пожалуйста, не используйте помощник Джанго. Это не поддерживается и не поддерживается никем. Если у вас есть проблемы с ним, решение состоит в том, чтобы перейти на 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.

...