noc*_*tis 6 python django python-3.x
我正在按照 Django 教程来学习如何使用它,但我很早就遇到了一个错误,并且我不知道如何修复它。
它发生在创建 django 项目并执行“编写您的第一个视图”部分时:https://docs.djangoproject.com/en/dev/intro/tutorial01/#write-your-first-view
仔细按照这些步骤操作后,执行时python3 manage.py runserver出现以下错误:AttributeError: 'str' object has no attribute 'tag'
这是完整的错误跟踪:
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/usr/lib/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/usr/lib/python3.9/threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "/home/noctis/.local/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "/home/noctis/.local/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 124, in inner_run
self.check(display_num_errors=True)
File "/home/noctis/.local/lib/python3.9/site-packages/django/core/management/base.py", line 438, in check
all_issues = checks.run_checks(
File "/home/noctis/.local/lib/python3.9/site-packages/django/core/checks/registry.py", line 77, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/home/noctis/.local/lib/python3.9/site-packages/django/core/checks/urls.py", line 13, in check_url_config
return check_resolver(resolver)
File "/home/noctis/.local/lib/python3.9/site-packages/django/core/checks/urls.py", line 23, in check_resolver
return check_method()
File "/home/noctis/.local/lib/python3.9/site-packages/django/urls/resolvers.py", line 448, in check
for pattern in self.url_patterns:
File "/home/noctis/.local/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/noctis/.local/lib/python3.9/site-packages/django/urls/resolvers.py", line 634, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/noctis/.local/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/noctis/.local/lib/python3.9/site-packages/django/urls/resolvers.py", line 627, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib/python3.9/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 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/noctis/code/tests/django/mysite/mysite/urls.py", line 21, in <module>
path('polls/', include('polls.urls')),
File "/usr/lib/python3.9/xml/etree/ElementInclude.py", line 128, in include
_include(elem, loader, base_url, max_depth, set())
File "/usr/lib/python3.9/xml/etree/ElementInclude.py", line 136, in _include
if e.tag == XINCLUDE_INCLUDE:
AttributeError: 'str' object has no attribute 'tag'
Run Code Online (Sandbox Code Playgroud)
也许是python版本和django版本不兼容?我正在使用 Python 3.9.7 和 Django 4.0.2
提前致谢
noc*_*tis 28
所以,我发现了我所犯的错误。在本教程中,您可以添加mysite/urls.py以下代码片段:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
Run Code Online (Sandbox Code Playgroud)
vscode 中的 python 自动完成功能添加了include与django.urls. 因此出现了错误。