python - django migrate ModuleNotFoundError 的含义
问题描述
https://tryhackme.com/room/django
我正在尝试按照上面的 django 教程进行操作。
django-admin startproject mysite
cd mysite
python3 manage.py migrate
python3 manage.py startapp Articles
目录结构如下所示。
$ tree
.
├── Articles
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── db.sqlite3
├── manage.py
└── mysite
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-37.pyc
│ ├── settings.cpython-37.pyc
│ └── urls.cpython-37.pyc
├── settings.py
├── urls.py
└── wsgi.py
4 directories, 16 files
在mysite/settings.py
中,我修改了以下行。
INSTALLED_APPS = [
'Articles', # add
'django.contrib.admin',
...
在mysite/urls.py
中,我更改了以下几行。
from django.urls import path, include # modified
urlpatterns = [
path('Articles/', include('Articles.urls')), # added
但是当我运行以下命令时,它失败了。有人知道出了什么问题吗?谢谢。
$ python3 manage.py migrate
Traceback (most recent call last):
File "manage.py", line 21, in <module>
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/__init__.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 323, in run_from_argv
self.execute(*args, **cmd_options)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 361, in execute
self.check()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 390, in check
include_deployment_checks=include_deployment_checks,
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 65, in _run_checks
issues.extend(super()._run_checks(**kwargs))
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 377, in _run_checks
return checks.run_checks(**kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/checks/registry.py", line 72, in run_checks
new_errors = check(app_configs=app_configs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/checks/urls.py", line 40, in check_url_namespaces_unique
all_namespaces = _load_all_namespaces(resolver)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/checks/urls.py", line 57, in _load_all_namespaces
url_patterns = getattr(resolver, 'url_patterns', [])
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/utils/functional.py", line 80, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/urls/resolvers.py", line 584, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/utils/functional.py", line 80, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/urls/resolvers.py", line 577, in urlconf_module
return import_module(self.urlconf_name)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/private/tmp/mktemp/tmp.xwK721S20r/mysite/mysite/urls.py", line 20, in <module>
path('Articles/', include('Articles.urls')),
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/urls/conf.py", line 34, in include
urlconf_module = import_module(urlconf_module)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'Articles.urls'
解决方案
在您的文章目录中添加 urls.py 并在您的 urls.py 文件中添加这些行
from django.urls import path
from . import views
urlpatterns = [
path('urlPathName', views.nameOfFucntionView, name="referenceNameForTemplateUsAGE"),
]
对于这个演示,我给出了一个views.py的例子
from django.shortcuts import render
def nameOfFucntionView(request):
return render(request, 'Article/someFile.html')
并在您的 setting.py 添加这些行
INSTALLED_APPS = [
"Articles.apps.ArticlesConfig",
...
推荐阅读
- javascript - (Sass)插件“gulp-sass”未定义变量中的错误
- python - 当我使用实体进行查询时,Pydantic 不反序列化 Sqlalchemy
- vba - 如何自动将“多个值”存储在“多个变量”中?
- java - 我已经使用 PartitionKey 注释声明了主键,但仍然得到 Entity Order 没有声明主键
- java - 从回收站视图中获取原始项目?
- cordova - 在 Cordova 应用程序中更改 mabox-gl-cordova-offline 地图的地图样式
- java - 将不同的 @Configuration bean 传递给基于 rest 的客户端
- java - 如何创建自定义按钮类并添加默认功能
- azure-cognitive-search - 从 OData 查询字符串创建 SearchParameters?
- javascript - 在集成 React 本机和 android 应用程序时更改 MainActivity 条目