1

pythonanywhere.com テスト ホスティングにデプロイし、MySQL データベースをセットアップした後に問題が発生しました。スーパーユーザーで管理者にログインしようとすると、次のエラーが発生します。

  Environment:


Request Method: POST
Request URL: http://studs.pythonanywhere.com/admin/login/?next=/admin/

Django Version: 1.9.7
Python Version: 3.5.2
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'rest_framework',
 'rest_framework.authtoken',
 'rest_framework_docs',
 'mainapp']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
  64.                 return self.cursor.execute(sql, params)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py" in execute
  323.         return Database.Cursor.execute(self, query, params)

The above exception (no such table: auth_user) was the direct cause of the following exception:

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/core/handlers/base.py" in get_response
  149.                     response = self.process_exception_by_middleware(e, request)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/core/handlers/base.py" in get_response
  147.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/admin/sites.py" in login
  414.         return login(request, **defaults)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/views.py" in inner
  49.         return func(*args, **kwargs)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/views/decorators/debug.py" in sensitive_post_parameters_wrapper
  76.             return view(request, *args, **kwargs)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapped_view
  149.                     response = view_func(request, *args, **kwargs)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/views.py" in login
  69.         if form.is_valid():

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/forms/forms.py" in is_valid
  161.         return self.is_bound and not self.errors

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/forms/forms.py" in errors
  153.             self.full_clean()

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/forms/forms.py" in full_clean
  363.         self._clean_form()

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/forms/forms.py" in _clean_form
  390.             cleaned_data = self.clean()

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/forms.py" in clean
  161.                                            password=password)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/__init__.py" in authenticate
  74.             user = backend.authenticate(**credentials)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/backends.py" in authenticate
  17.             user = UserModel._default_manager.get_by_natural_key(username)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/contrib/auth/base_user.py" in get_by_natural_key
  45.         return self.get(**{self.model.USERNAME_FIELD: username})

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
  122.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/query.py" in get
  381.         num = len(clone)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/query.py" in __len__
  240.         self._fetch_all()

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/query.py" in _fetch_all
  1074.             self._result_cache = list(self.iterator())

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/query.py" in __iter__
  52.         results = compiler.execute_sql()

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in execute_sql
  848.             cursor.execute(sql, params)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
  79.             return super(CursorDebugWrapper, self).execute(sql, params)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
  64.                 return self.cursor.execute(sql, params)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/utils.py" in __exit__
  95.                 six.reraise(dj_exc_type, dj_exc_value, traceback)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/utils/six.py" in reraise
  685.             raise value.with_traceback(tb)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
  64.                 return self.cursor.execute(sql, params)

File "/home/studs/.virtualenvs/Studsvenv/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py" in execute
  323.         return Database.Cursor.execute(self, query, params)

**Exception Type: OperationalError at /admin/login/
Exception Value: no such table: auth_user**

だからここに私がしたことがあります:

  • github からアプリを取得しました
  • virtualenv を作成し、必要なすべてのアプリをインストールしました
  • wsgi.pyを設定
  • 収集された静的ファイル
  • MySQL db をセットアップし、settings.py で DATABASE を変更しました
  • 移行する
  • 移行する
  • スーパーユーザーを作成する

エラーがポップアップすることなく、すべての手順が完了しました。

そのため、/admin/ にアクセスしてスーパーユーザーでログインしようとすると、エラーが発生します。

私が間違っていたことと、問題を解決する方法を説明してください。また、私自身の ProfileModel で User モデルを拡張していることにも言及する価値があると思います。

ここに私のsettings.pyがあります

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'studs$maindb',
        'USER': 'studs',
        'PASSWORD': 'XXXXXXXX',
        'HOST': 'studs.mysql.pythonanywhere-services.com',
    }
}

さらに情報が必要な場合はお知らせください。チケットを更新します。

ありがとう

4

1 に答える 1

0

django User モデルを拡張する profilemodel を含むアプリに移行し、db を移行することで、この問題を解決しました。

于 2016-11-20T15:01:16.707 に答える