2 つ目の Django アプリを作ろうとしています: Django Oscar をベースにしたショップです。RTFDのチュートリアルに従っています。この段階http://django-oscar.readthedocs.org/en/latest/internals/getting_started.html#creating-product-classes-and-fulfillment-partnersに問題があります。
すべての Oscar 展開には、少なくとも 1 つの製品クラスと 1 つのフルフィルメント パートナーが必要です。これらは、構築したいショップに非常に固有であるため、自動的に作成されません。それらをセットアップする最も簡単な方法は、localhost:8000/admin/ で Django 管理インターフェースにログインし、そこで両方のインスタンスを作成することです。展開セットアップの場合は、データ移行として作成することをお勧めします。
ただし、管理者にログインしようとすると、生成されるエラーは次のとおりです。
ProgrammingError at /admin/
(1146, "Table 'winestoreoscar.django_admin_log' doesn't exist")
....
Error during template rendering
In template /home/david/.virtualenvs/winestoreoscar/local/lib/python2.7/site-packages/django/contrib/admin/templates/admin/index.html, error at line 65
1146
このテンプレートは、次の行が強調表示された状態でエラーに表示されます。
<ul class="actionlist">
**65 {% for entry in admin_log %}**
66 <li class="{% if entry.is_addition %}addlink{% endif %}{% if entry.is_change %}changelink{% endif %}{% if entry.is_deletion %}deletelink{% endif %}">
そのため、テーブルが不足しているようです。データベースとしてMySQLを使用しています。mysqlプロンプトで、私は明らかなことを試しました..
mysql> CREATE TABLE winestoreoscar.django_admin_log;
しかし、エラーメッセージが表示されました...
ERROR 1113 (42000): A table must have at least 1 column
次に、管理テンプレートの for ループ全体を削除しようとしたところ、管理者は正常にレンダリングされましたが、保存しようとすると前のエラーが発生しました。
今、私は立ち往生しています。どんな助けでも大歓迎です。
編集:これはベースディレクトリからのツリーです(考えてみてください-admin.pyが必要ですか..?):
├── manage.py
└── oscarwinestore
├── __init__.py
├── __init__.pyc
├── settings.py
├── settings.py~
├── settings.pyc
├── urls.py
├── urls.py~
├── urls.pyc
├── wsgi.py
└── wsgi.pyc
私のurls.pyは
from django.conf.urls import include, url
from oscar.app import application
from django.contrib import admin
admin.autodiscover()
urlpatterns = [
url(r'^i18n/', include('django.conf.urls.i18n')),
# The Django admin is not officially supported; expect breakage.
# Nonetheless, it's often useful for debugging.
url(r'^admin/', include(admin.site.urls)),
url(r'', include(application.urls)),
]