1

djangoappengine を使用して Django の投票アプリ チュートリアルを実装しようとしていました。

私が行った手順:
1) test-app をワークスペース フォルダーにコピーしました。

2) ウェブサイトhttp://www.allbuttonspressed.com/projects/djangoappengineの指示に従って、django-toolbox、dbindexer、django、djangoappengine、autoloadを「test-app」フォルダーにコピーしました。

3) eclipse で PyDev Google App Engine Project として新しいプロジェクトを開始し、作業フォルダーとして test-app を作成しました。

4)ターミナルを使用してGAEにアプリをデプロイしました

$ python manage.py デプロイ

x.appspot.com の「It Works」ページを入手しました。

5) チュートリアルの指示に従って、投票アプリを作成しようとしました

python manage.py startapp ポーリング

フォルダ「polls」は 4 つのファイルで作成されました

6) polls の model.py ファイルを編集し、tutorial-1 で説明したようにコードを追加しました。次に、コマンドを実行しました。

$ python manage.py syncdb

エラーは表示されませんでしたが、投票の新しいテーブルは作成されませんでした。settings.py の「Installed_Apps」の下に「polls」を追加しまし
た。問題は、django.db.backends.sqlite3 ではなく dbindexer であるデータベース宣言にあると思いますが、よくわかりません。

また、これをシェルで実行するとエラーが発生します

>>> from django.utils import timezone
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: cannot import name timezone 

他にもいくつか質問がありますが、上記が解決した後に言及します。

4

2 に答える 2

0

Djangoチュートリアルは、最新バージョンのdjango用に作成されています。私が覚えている限り、タイムゾーンは約1.3でdjango.utilsに追加されましたか?お持ちのDjangoのバージョンを確認できますか?現在のバージョンは1.41です。

于 2012-09-18T09:38:20.567 に答える
0

このページによると、Python 2.7 での App Engine サードパーティ サポートについて

https://developers.google.com/appengine/docs/python/tools/libraries27

App Engine は次のバージョンのみをサポートします。

「1.2」

「1.3」

"最新"

したがって、1.41 は使用できないと思います。

ここに Django の使用に関する追加の注意事項があります。

https://developers.google.com/appengine/docs/python/tools/libraries27#django

NDB ストレージ API で Django を使用するには、「google.appengine.ext.ndb.django_middleware.NdbDjangoMiddleware」を Django settings.py ファイルの MIDDLEWARE_CLASSES エントリに追加します。

app.yaml にこのようなエントリがありますか?

libraries:
- name: django
  version: "1.3"

あなたはこれをしましたか?

NDB ストレージ API で Django を使用するには、「google.appengine.ext.ndb.django_middleware.NdbDjangoMiddleware」を Django settings.py の MIDDLEWARE_CLASSES エントリに追加します。

于 2012-09-18T11:01:38.993 に答える