0

私はdjango_bootstrap.pyを使用していますが、同様のエラーがありますが、解決策が見つかりませんでした。私はdjangoヘルパーを使用しています(非関連を提案しないでください)

私がやろうとしていたのは、静的なhtml js Webサイト内で、連絡先フォームを介してメールを送信する機能を添付することでした。フォームはデータを取得し、jQuery は検証して、url "/sendmail/" への POST AJAX 要求を行います。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 で行われたように 2 行を追加

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

これにより、サーバーで 500 エラーが発生し、ページが開きませんでした。

2 入れてみた

   DATABASE_ENGINE = 'dummy'

これはローカルでは機能しますが、サーバー (appspot) では機能しません。

3 入れてみた

DATABASE_ENGINE = 'appengine'

これも 500 エラーになります。

解決方法を教えてください。

4

2 に答える 2

0

アプリケーションでデータベースを使用していない場合はDATABASES = {}、settings.pyファイルで設定できます。これにより、「DATABASE_ENGINE設定をまだ設定していない」という問題が修正されます。

于 2012-09-08T11:46:48.167 に答える
0

これはいろいろな意味でめちゃくちゃに見えます。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 ヘルパーには、appengine のメール API を使用するメール バックエンドがありません。これは、Django-nonrel の djangoappengine パッケージで利用できます。

于 2012-03-23T15:45:38.077 に答える