Python 在执行Django官方教程时,尚未加载应用程序

Python 在执行Django官方教程时,尚未加载应用程序,python,django,pydev,Python,Django,Pydev,我在执行操作时遇到Django设置的问题。当我在models.py文件上执行调试模式F11时,PyDev控制台返回一个错误“Apps not loaded”。这是一个非常简单的项目,我只将项目名称更改为'capital',将应用程序名称更改为'marketsdata' 在这个类似问题中提出的变通办法并不能解决我的问题。 官方教程如何可能在basics settings.py和models.py文件中返回此类错误?我做错了什么 models.py 设置.py apps.py url.py 调试程

我在执行操作时遇到Django设置的问题。当我在models.py文件上执行调试模式F11时,PyDev控制台返回一个错误“Apps not loaded”。这是一个非常简单的项目,我只将项目名称更改为'capital',将应用程序名称更改为'marketsdata'

在这个类似问题中提出的变通办法并不能解决我的问题。

官方教程如何可能在basics settings.py和models.py文件中返回此类错误?我做错了什么

models.py

设置.py

apps.py

url.py

调试程序输出:


PyDev要运行django项目,必须右键单击该项目并执行以下操作:

运行as>PyDev:Django

在后台,这将执行一个调用python manage.py runserver的启动。您还可以创建一个自定义启动,这样做,PyDev只是让它变得更简单

如果您在处理Django时需要一个shell,那么您必须右键单击该项目并选择Django>shell with Django environment,这将为您提供一个Django shell,但支持PyDev完成代码

请注意,代码不会自动添加到该shell。。。如果更改代码,则需要重新启动shell或手动重新加载所需的模块,但鉴于django有很多魔力,重新加载可能会很困难


注意:您可能希望了解有关如何在PyDev中开发Django的更多详细信息。

您不运行models.py文件。您使用python3 manage.py runserver运行Django服务器。@WillemVanOnsem您不能使用Django与控制台中的代码交互吗?可以使用python3 manage.py shell。@WillemVanOnsem使用python3 manage.py shell当我更改类时,我需要重新启动shell,否则我无法与新代码交互。有没有可能避免呢?当我刚重新导入时,不会考虑类更改。
from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
INSTALLED_APPS = [
    'marketsdata.apps.MarketsdataConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
from django.apps import AppConfig


class MarketsdataConfig(AppConfig):
    name = 'marketsdata'
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('marketsdata/', include('marketsdata.urls')),
    path('admin/', admin.site.urls),
]
pydev debugger: starting (pid: 23504)
Traceback (most recent call last):
  File "/home/abc/.eclipse/360744294_linux_gtk_x86_64/plugins/org.python.pydev.core_7.5.0.202001101138/pysrc/pydevd.py", line 3129, in <module>
    main()
  File "/home/abc/.eclipse/360744294_linux_gtk_x86_64/plugins/org.python.pydev.core_7.5.0.202001101138/pysrc/pydevd.py", line 3122, in main
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/home/abc/.eclipse/360744294_linux_gtk_x86_64/plugins/org.python.pydev.core_7.5.0.202001101138/pysrc/pydevd.py", line 2195, in run
    return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)
  File "/home/abc/.eclipse/360744294_linux_gtk_x86_64/plugins/org.python.pydev.core_7.5.0.202001101138/pysrc/pydevd.py", line 2202, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/home/abc/.eclipse/360744294_linux_gtk_x86_64/plugins/org.python.pydev.core_7.5.0.202001101138/pysrc/_pydev_imps/_pydev_execfile.py", line 25, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/abc/python/capital/marketsdata/models.py", line 3, in <module>
    class Question(models.Model):
  File "/home/abc/.local/lib/python3.6/site-packages/django/db/models/base.py", line 107, in __new__
    app_config = apps.get_containing_app_config(module)
  File "/home/abc/.local/lib/python3.6/site-packages/django/apps/registry.py", line 252, in get_containing_app_config
    self.check_apps_ready()
  File "/home/abc/.local/lib/python3.6/site-packages/django/apps/registry.py", line 135, in check_apps_ready
    raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.