首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django 2.0教程-执行python3 manage.py makemigrations时出错

Django 2.0教程-执行python3 manage.py makemigrations时出错
EN

Stack Overflow用户
提问于 2017-12-20 19:40:18
回答 1查看 1.6K关注 0票数 0

我对学习Django for python很感兴趣。因此,我遵循了他们的教程-但现在我被困在第二个教程元素的以下一点:

问题:根据本教程,我将使用以下代码运行“数据库迁移”:

代码语言:javascript
复制
python3 manage.py makemigrations
python3 manage.py migratecode

在执行第一个命令(Makemigrations)时,我确实收到以下错误消息:

代码语言:javascript
复制
> (django_second_test) sebastian@sebastian-Lenovo-Y50-70
> ~/Dokumente/py_virtualenv/django_virtualenv/django_second_test/locallibrary/locallibrary
> $ python3 manage.py makemigrations Traceback (most recent call last): 
> File "manage.py", line 15, in <module>
>     execute_from_command_line(sys.argv)   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
>     utility.execute()   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/core/management/__init__.py", line 365, in execute
>     self.fetch_command(subcommand).run_from_argv(self.argv)   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/core/management/base.py",
> line 288, in run_from_argv
>     self.execute(*args, **cmd_options)   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/core/management/base.py",
> line 332, in execute
>     self.check()   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/core/management/base.py",
> line 364, in check
>     include_deployment_checks=include_deployment_checks,   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/core/management/base.py",
> line 351, in _run_checks
>     return checks.run_checks(**kwargs)   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/core/checks/registry.py",
> line 73, in run_checks
>     new_errors = check(app_configs=app_configs)   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/core/checks/urls.py",
> line 40, in check_url_namespaces_unique
>     all_namespaces = _load_all_namespaces(resolver)   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/core/checks/urls.py",
> line 57, in _load_all_namespaces
>     url_patterns = getattr(resolver, 'url_patterns', [])   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/utils/functional.py",
> line 36, in __get__
>     res = instance.__dict__[self.name] = self.func(instance)   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/urls/resolvers.py",
> line 536, in url_patterns
>     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)   File
> "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/utils/functional.py",
> line 36, in __get__
>     res = instance.__dict__[self.name] = self.func(instance)   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/lib/python3.5/site-packages/django/urls/resolvers.py",
> line 529, in urlconf_module
>     return import_module(self.urlconf_name)   File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)   File "<frozen importlib._bootstrap>", line 986, in _gcd_import   File
> "<frozen importlib._bootstrap>", line 969, in _find_and_load   File
> "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked 
> File "<frozen importlib._bootstrap>", line 673, in _load_unlocked  
> File "<frozen importlib._bootstrap_external>", line 665, in
> exec_module   File "<frozen importlib._bootstrap>", line 222, in
> _call_with_frames_removed   File "/home/sebastian/Dokumente/py_virtualenv/django_virtualenv/django_second_test/locallibrary/locallibrary/locallibrary/urls.py",
> line 20, in <module>
>     url(r'^admin/', admin.site.urls),  NameError: name 'url' is not defined

我重新检查了我的代码,甚至根据教程规范对它进行了copy_pasted --但作为一个初学者(也是用Python语言),我确实很难理解到底是怎么回事。

教程页面链接:Link to second part of Django Tutorial

其他信息:虚拟环境处于活动状态(通过"source activate“激活);Python3.5处于虚拟环境中。教程的第一部分(虚拟环境和python的设置以及通过pip3安装django成功)。我使用的是mint linux。

感谢大家的帮助!

塞巴斯蒂安

EN

回答 1

Stack Overflow用户

发布于 2017-12-20 19:50:47

您正在获取NameError,因为您缺少以下导入:

代码语言:javascript
复制
from django.conf.urls import url

这是因为您使用Django 2.0创建了项目,但本教程是为Django 1.11编写的。因为Django2.0中的默认urls.py通过而不是url()导入path(),所以你会得到NameError

代码语言:javascript
复制
from django.urls import path

我建议您在official tutorial for Django 2.0中使用Django2.0,或者在Django1.11中使用Mozilla教程。如果您的Django版本与本教程为之编写的版本不匹配,那么您更有可能遇到这样的问题,当您是Django的新手时,这可能会令人沮丧。

如果您坚持使用Mozilla教程,您可以使用以下命令安装Django 1.11的最新单点发行版:

代码语言:javascript
复制
pip3 install "django<2"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47905217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档