【发布时间】:2018-05-13 18:22:54
【问题描述】:
尝试运行命令:
from django.urls import path
得到错误:
Traceback(最近一次调用最后一次):文件“
”,第 1 行,in ImportError: 无法导入名称“路径”
我使用的是 django 1.11 版
【问题讨论】:
标签: python django python-3.x django-views
尝试运行命令:
from django.urls import path
得到错误:
Traceback(最近一次调用最后一次):文件“
”,第 1 行,in ImportError: 无法导入名称“路径”
我使用的是 django 1.11 版
【问题讨论】:
标签: python django python-3.x django-views
您无法导入路径的原因是因为它在 Django 2.0 中是新的,如下所述:https://docs.djangoproject.com/en/2.0/ref/urls/#path。
在该页面的右下角,您可以将文档版本更改为您已安装的版本。如果您这样做,您将看到 path 在 1.11 文档中没有条目。
【讨论】:
pip install --upgrade django
pip3 install --upgrade django
python -m django --version # 2.0.2
python3 -m django --version # 2.0.2
【讨论】:
pip install --upgrade django。
使用 url 代替路径。
from django.conf.urls import url
urlpatterns = [
url('', views.homepageview, name='home')
]
【讨论】:
This function is an alias to django.urls.re_path(). It’s likely to be deprecated in a future release.
Python 2 不支持 Django 2。在 Mac 上安装 Python 3 和 Django 2 后,从 shell 运行以下命令来运行应用程序,同时保持路径:
python3 manage.py runserver
即使您已经升级并且在 Mac 上,如果您输入以下命令,默认情况下您将运行 Python 2:
python manage.py runserver
Django 的版本会出错,你会看到 path 的导入错误
【讨论】:
对于那些使用python 2.7的人来说,python2.7不支持django 2所以你不能安装django.urls。如果你已经在使用 python 3.6 那么你需要将 django 升级到大于 2 的最新版本。
在 PowerShell 上
pip install -U django
验证
>
PS C:\Users\xyz> python
Python 3.6.6 |Anaconda, Inc.| (default, Jul 25 2018, 15:27:00) [MSC v.1910 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from django.urls import path
>>>
当出现下一个提示时,这意味着它现在已经安装并可以使用了。
【讨论】:
我假设你的 urls.py 上已经有设置
from django.urls import path, include
# and probably something like this
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blog.urls')),
]
在你的应用程序上你应该有这样的blog/urls.py
from django.urls import path
from .views import HomePageView, CreateBlogView
urlpatterns = [
path('', HomePageView.as_view(), name='home'),
path('post/', CreateBlogView.as_view(), name='add_blog')
]
如果是这种情况,那么很可能您还没有激活您的环境
首先尝试以下方法来激活您的环境pipenv shell
如果您仍然遇到相同的错误,请尝试以下方法
确保 Django 已安装?还有其他包吗?即枕头 试试下面的
pipenv install django==2.1.5 pillow==5.4.1
然后记得激活你的环境
pipenv shell
环境启动后尝试运行
python3 manage.py makemigrations
python3 manage.py migrate
然后你需要运行
python3 manage.py runserver
希望对你有帮助
【讨论】:
我更改了 python 解释器,它工作正常。在键盘上,我按下了 ctrl+shift+p。在下一个窗口中,我输入了 python: select interpreter,并且有一个选项可以选择我想要的解释器。从这里,我选择了位于我的虚拟环境中的 python 解释器。
在这种情况下,是我的~\DevFolder\myenv\scripts\python.exe
【讨论】:
如何在应用(页面)和项目中使用 url。
整个项目url配置root/urls.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url('', include('pages.urls')),
]
app pages url配置root/pages/urls.py
# pages/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url('', views.homePageView, name='home')
]
【讨论】:
好像你忘了激活你的虚拟环境
尝试运行python3 -m venv venv 或者如果您已经有虚拟环境
设置尝试通过运行source venv/bin/activate激活它
【讨论】:
对于有同样问题的人-
import name 'path' from 'django.urls'
(C:\Python38\lib\site-packages\django\urls\__init__.py)
您也可以尝试通过
安装 django-urlspipenv install django-urls
【讨论】:
由于错误显示路径无法导入。
所以这里我们将使用 url 而不是 path 如下所示:-
首先导入 url 包,然后将 path 替换为 url
from django.conf.urls import url
urlpatterns = [
url('admin/', admin.site.urls),
]
有关更多信息,您可以参考此link。
【讨论】:
在您的项目中创建 setting.json 文件
{
"python.pythonPath": "${workspaceFolder}/env/bin/python3",
"editor.formatOnSave": true,
"python.linting.pep8Enabled": true,
"python.linting.pylintPath": "pylint",
"python.linting.pylintArgs": ["--load-plugins", "pylint_django"],
"python.linting.pylintEnabled": true,
"python.venvPath": "${workspaceFolder}/env/bin/python3",
"python.linting.pep8Args": ["--ignore=E501"],
"files.exclude": {
"**/*.pyc": true
}
}
【讨论】:
这很简单: 1-转到vscode上的视图 2-选择命令调色板 3-编写“选择解释器”并选择合适的python版本。
这对我很有用:)
【讨论】: