您的位置:首页 > 移动开发

在使用django框架搭建web中如果需要单独运行py脚本出现AppRegistryNotReady("Apps aren't loaded yet.")问题

2018-01-25 20:44 2561 查看
使用django2.0时发现能够访问web,但是单独运行某一个py文件时会出现如下错误:
Traceback (most recent call last):
File "D:/Python_work/pycharm/py_work/mysite/mysite/urls.py", line 35, in <module>
path('admin/', admin.site.urls),
File "D:\Anaconda3\lib\site-packages\django\contrib\admin\sites.py", line 285, in urls
return self.get_urls(), 'admin', self.name
File "D:\Anaconda3\lib\site-packages\django\contrib\admin\sites.py", line 237, in get_urls
from django.contrib.contenttypes import views as contenttype_views
File "D:\Anaconda3\lib\site-packages\django\contrib\contenttypes\views.py", line 2, in <module>
from django.contrib.contenttypes.models import ContentType
File "D:\Anaconda3\lib\site-packages\django\contrib\contenttypes\models.py", line 134, in <module>
class ContentType(models.Model):
File "D:\Anaconda3\lib\site-packages\django\db\models\base.py", line 100, in __new__
app_config = apps.get_containing_app_config(module)
File "D:\Anaconda3\lib\site-packages\django\apps\registry.py", line 244, in get_containing_app_config
self.check_apps_ready()
File "D:\Anaconda3\lib\site-packages\django\apps\registry.py", line 127, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.解决方案:

在urls.py的开始加上
import os,django

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

django.setup() 然后单独运行改脚本就不出出错了。
如果在命令行中需要导入其他py模块,这是需要先导入该urls模块,不然出现导入不成功的情况:

会出现一下错误from learn.models import Person

Traceback (most recent call last):
File "D:\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2862, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-8-7faa32097dbe>", line 1, in <module>
from learn.models import Person
File "D:\Python_work\pycharm\PyCharm Community Edition 2017.1.5\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "D:\Python_work\pycharm\py_work\mysite\learn\models.py", line 7, in <module>
class Person(models.Model):
File "D:\Anaconda3\lib\site-packages\django\db\models\base.py", line 100, in __new__
app_config = apps.get_containing_app_config(module)
File "D:\Anaconda3\lib\site-packages\django\apps\registry.py", line 244, in get_containing_app_config
self.check_apps_ready()
File "D:\Anaconda3\lib\site-packages\django\apps\registry.py", line 127, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
但是先导入该urls模块就能成功

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐