无法从django.urls导入路径

时间:2017-11-29 22:37:40

标签: python django python-3.x django-views

试图运行命令:

from django.urls import path

获取错误:

  

回溯(最近一次呼叫最后一次):文件"< stdin>",第1行,in    ImportError:无法导入名称'路径'

我正在使用django版本1.11

12 个答案:

答案 0 :(得分:40)

你无法导入路径的原因是因为它在Django 2.0中是新的,如下所述:https://docs.djangoproject.com/en/2.0/ref/urls/#path

在右下角的该页面上,您可以将文档版本更改为已安装的版本。如果您这样做,您会发现path文档上没有1.11条目。

答案 1 :(得分:22)

您需要Django版本2

pip install --upgrade django
pip3 install --upgrade django

python -m django --version # 2.0.2
python3 -m django --version # 2.0.2

答案 2 :(得分:11)

使用网址而不是路径。

from django.conf.urls import url
urlpatterns = [
url('',views.homepageview,name='home')

答案 3 :(得分:4)

Python 2不支持Django2。在Mac上,一旦安装了Python 3和Django 2,请在保持路径的同时从shell运行以下命令来运行您的应用程序:

python3 manage.py runserver

即使您已经升级并在Mac上,如果您输入以下命令,则默认情况下也会运行Python 2:

python manage.py runserver

然后Django的版本将是错误的,您将看到path的导入错误

答案 4 :(得分:2)

如何在app(页面)和项目中使用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页面url配置root / pages / urls.py

# pages/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url('', views.homePageView, name='home')
]

答案 5 :(得分:1)

对于使用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
>>>

出现下一个提示时,表示它已安装并可以使用。

答案 6 :(得分:1)

我假设您已经在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

我希望这对您有帮助

答案 7 :(得分:0)

由于错误表明无法导入路径。

enter image description here

因此,这里我们将使用 URL 而不是 path ,如下所示:-

首先导入 url 程序包,然后将 path 替换为 url

from django.conf.urls import url
urlpatterns = [
    url('admin/', admin.site.urls),
]

有关更多信息,您可以参考此link

答案 8 :(得分:0)

好像您忘了激活虚拟环境 尝试运行python3 -m venv venv或如果您已经有虚拟环境 设置尝试通过运行source venv/bin/activate

激活它

答案 9 :(得分:0)

我更改了python解释器,它起作用了。在键盘上,按Ctrl + Shift + P。在下一个窗口中,我键入python:select interpreter,并且有一个选项选择我想要的解释器。从这里,我选择了位于我的虚拟环境中的python解释器。
在这种情况下,这是我的~\DevFolder\myenv\scripts\python.exe

答案 10 :(得分:0)

在您的项目中创建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
       }
}

答案 11 :(得分:0)

对于遇到相同问题的人-

import name 'path' from 'django.urls' 
(C:\Python38\lib\site-packages\django\urls\__init__.py)

您也可以尝试通过以下方式安装django-url:

pipenv install django-urls