无法在Python Console中导入User类

无法在Python Console中导入User类

老师好,
我使用的是Community版本的Pycharm,在课程中提到的from accounts.models import User显示失败。
以下为报错信息,我怀疑可能是我的环境配置相关,目前在百度上搜了无果,所以问问老师,另外,再配一张configuration的配置。

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2020.3.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\53180\Desktop\Django中的ORM模型\03 使用ORM实现CRUD\3-2 定义模型\my_project\accounts\models.py", line 4, in <module>
    class CommonModel(models.Model):
  File "C:\Users\53180\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\models\base.py", line 108, in __new__
    app_config = apps.get_containing_app_config(module)
  File "C:\Users\53180\AppData\Local\Programs\Python\Python39\lib\site-packages\django\apps\registry.py", line 253, in get_containing_app_config
    self.check_apps_ready()
  File "C:\Users\53180\AppData\Local\Programs\Python\Python39\lib\site-packages\django\apps\registry.py", line 135, in check_apps_ready
    settings.INSTALLED_APPS
  File "C:\Users\53180\AppData\Local\Programs\Python\Python39\lib\site-packages\django\conf\__init__.py", line 82, in __getattr__
    self._setup(name)
  File "C:\Users\53180\AppData\Local\Programs\Python\Python39\lib\site-packages\django\conf\__init__.py", line 63, in _setup
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

相关截图:

图片描述

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!社区PyCharm也是可以使用的,可以按下面的方式配置一下

1、进入Python Console,导入os模块、django模块

2、设置环境变量,os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_project.settings")

3、django.setup()初始化项目

4、然后再导入,from accounts.models import User

http://img1.sycdn.imooc.com//climg/60c45b7c0962b2f615790833.jpg

祝:学习愉快!

  • 三姐四哥五弟 提问者 #1

    再问一下,这样的原理是啥呢?为啥在terminal终端打开的时候不需要import,改环境变量这些操作,就可以直接对数据库中插入数据?

    2021-06-14 10:19:35
  • 三姐四哥五弟 提问者 #2

    老师,还有,我每次重新打开python console的时候都重新再导入、改环境变量,请问有什么方式可以更简便,比如在settings.py中修改一下什么的?

    2021-06-14 10:55:07
  • 好帮手慕美 回复 提问者 三姐四哥五弟 #3

    同学,你好!经测试,在Terminal终端中进入Python后导入User类时也是会报错的。

    http://img1.sycdn.imooc.com//climg/60c846ae096b1d5f18920612.jpg

    django项目在执行时需要加载manage.py中的一些配置,默认是不会执行的,因此报错了。

    可以在Settings中对Python Console进行配置,配置完成后直接打开Python Console即可

    http://img1.sycdn.imooc.com//climg/60c8472109a615d109730503.jpg

    祝学习愉快!

    2021-06-15 14:23:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师