【问题标题】:Cannot makemigrations with Django无法使用 Django 进行迁移
【发布时间】:2022-01-22 16:37:05
【问题描述】:

我正在使用 Django 尝试制作一个投资组合网站。我使用python manage.py startapp 'appname' 添加了两个名为“工作”和“博客”的应用程序。

然后我进入Atom并进入models.py文件来实现class Job(models.Model):

然后我们必须进入 settings.py 以将 'jobs.apps.JobsConfig' 添加到 INSTALLED_APPS。

之后我添加了MEDIA_ROOT = BASE_DIR / 'media' 和MEDIA_URL = '/media/',然后返回到python manage.py makemigrations 的命令提示符,这一直导致此错误:

Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2800.0_x64__qbz5n2kfra8p0\lib\threading.py", line 973, in _bootstrap_inner
  self.run()}
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2800.0_x64__qbz5n2kfra8p0\lib\threading.py", line 910, in run
  self._target(*self._args, **self._kwargs)
  File "C:\Users\NAME\venv\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
  fn(*args, **kwargs)
  File "C:\Users\NAME\venv\lib\site-packages\django\core\management\commands\runserver.py", line   115, in inner_run
  autoreload.raise_last_exception()
  File "C:\Users\NAME\venv\lib\site-packages\django\utils\autoreload.py", line 87, in raise_last_exception
  raise _exception[1]
  File "C:\Users\NAME\venv\lib\site-packages\django\core\management\__init__.py", line 381, in execute
  autoreload.check_errors(django.setup)()
  File "C:\Users\NAME\venv\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
  fn(*args, **kwargs)
  File "C:\Users\NAME\venv\lib\site-packages\django\__init__.py", line 24, in setup
  apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\NAME\venv\lib\site-packages\django\apps\registry.py", line 91, in populate
  app_config = AppConfig.create(entry)
  File "C:\Users\NAME\venv\lib\site-packages\django\apps\config.py", line 211, in create
  mod = import_module(mod_path)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2800.0_x64__qbz5n2kfra8p0\lib\importlib\__init__.py", line 127, in import_module
  return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
  ModuleNotFoundError: No module named 'jobs'

我已经通过 Pip 安装了 Pillow,并且我已经尝试了多个版本的 Pillow,一直到 8.1.0。

我对编程很陌生,通过谷歌和堆栈溢出环顾四周后,我几乎被难住了。

感谢您的帮助。

【问题讨论】:

  • 您的INSTALLED_APPS 中可能有'jobs',但没有名为jobs 的Django 应用程序。
  • 嘿 Will,我在 Atom 中有一个名为 jobs 的文件夹,当我启动应用程序时出现:i.gyazo.com/e2c0688108b10a1fbe18cf5a1864b875.png 这不是 Django 应用程序吗?
  • 那是Jobs,带有一个大写(通常模块没有大写),但它因此应该是'Jobs'。
  • 哈哈,现在我觉得自己很笨,谢谢威尔
  • 嘿嘿嘿,@FruityJohn 很好,即使是经验丰富的开发人员也会混字母

标签: python python-3.x django


【解决方案1】:

按照说明进行操作,希望它会起作用 假设您要创建一个名为 mysite 的项目并创建一个名为 polls 的应用 首先在项目目录中创建应用程序

然后您可以创建第一个视图。打开文件 polls/views.py 并将以下 Python 代码放入其中:

from django.http import HttpResponse
    
def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

创建一个名为 urls.py 的文件,然后在该 polls 目录中并包含以下代码。

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

然后在mysite/urls.py文件里面添加根URLconf

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

在 mysite/settings 中添加应用程序,它看起来像这样

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls',]

更多详情请查看链接:https://docs.djangoproject.com/en/4.0/intro/tutorial01/

【讨论】:

    猜你喜欢
    • 2021-06-27
    • 2020-05-09
    • 2021-10-13
    • 1970-01-01
    • 2021-02-14
    • 2021-12-09
    • 2021-09-14
    • 2021-06-28
    相关资源
    最近更新 更多