1

继续寻找让 oauth2.0 在 pythonanywhere 上工作的答案。

我正在关注本教程:http: //ianalexandr.com/blog/building-a-true-oauth-20-api-with-django-and-tasty-pie.html

我正在使用 django 1.6:https ://www.pythonanywhere.com/wiki/VirtualEnvForNewerDjango

当我到达这行代码时:

   from provider.oauth2.models import Client
   # from django.contrib.auth.models import User
   from django.contrib.auth import get_user_model

   User = get_user_model()
   u = User.objects.get(id=1)
   c = Client(user=u, name="mysite client", client_type=1, url="http://pythonx00x.pythonanywhere.com")
   c.save()
   c.client_id
   'd63f53a7a6cceba04db5'
   c.client_secret
   'afe899288b9ac4127d57f2f12ac5a49d839364dc'

看来我在行出现错误:

   User = get_user_model()

它引发了一个错误:

   raise AppRegistryNotReady("Models aren't loaded yet.")
   django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

这是完整的堆栈跟踪:

   Traceback (most recent call last):
   File "addClient.py", line 9, in <module>
   User = get_user_model()
   File "/home/python2006/.virtualenvs/django16/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 136, in get_user_model
   return django_apps.get_model(settings.AUTH_USER_MODEL)
   File "/home/python2006/.virtualenvs/django16/local/lib/python2.7/site-packages/django/apps/registry.py", line 200, in get_model
   self.check_models_ready()
   File "/home/python2006/.virtualenvs/django16/local/lib/python2.7/site-packages/django/apps/registry.py", line 132, in check_models_ready
   raise AppRegistryNotReady("Models aren't loaded yet.")
   django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

我似乎无法找到如何加载模型。如果我的想法是正确的。

4

1 回答 1

2

我认为您可能没有使用您认为的 Django 版本。AppRegistryNotReady 是在 Django 1.7 中引入的。我猜想,如果您将 DJango 版本固定为 1.6,您的代码就可以工作。

于 2014-09-11T10:05:14.807 回答