web-dev-qa-db-fra.com

Impossible d'importer le chemin depuis Django.urls

J'ai essayé d'exécuter la commande:

from Django.urls import path

Obtenir une erreur:

Traceback (appel le plus récent en dernier): fichier "<stdin>", ligne 1, dans ImportError: impossible d'importer le nom 'chemin'

J'utilise Django version 1.11

37
Lev

La raison pour laquelle vous ne pouvez pas importer le chemin est parce qu'il est nouveau dans Django 2.0, comme indiqué ici: https://docs.djangoproject.com/fr/2.0/ref/urls/#path .

Sur cette page située dans le coin inférieur droit, vous pouvez remplacer la version de la documentation par la version que vous avez installée. Si vous faites cela, vous verrez qu'il n'y a pas d'entrée pour path sur le 1.11 docs.

42
Nick Chapman

Vous avez besoin de Django version 2

pip install --upgrade Django
pip3 install --upgrade Django

python -m Django --version # 2.0.2
python3 -m Django --version # 2.0.2
23
jasonleonhard

tilisez url au lieu de path.

from Django.conf.urls import url

urlpatterns = [
    url('', views.homepageview, name='home')
]
13
Saurabh Shukla

Python 2 ne prend pas en charge Django 2. Sur un Mac une fois que vous avez installé Python 3 et Django 2, exécutez la commande suivante de Shell pour exécuter votre application. en gardant le chemin:

python3 manage.py runserver

Même si vous avez mis à niveau et êtes sur un Mac, vous exécuterez par défaut Python 2 si vous entrez la commande suivante:

python manage.py runserver

La version de Django sera alors fausse et des erreurs d'importation apparaîtront pour path.

4
Lydia Thomas

Comment utiliser l'URL à la fois dans l'application (pages) et dans le projet.

la configuration de l'URL du projet entier racine/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')),
   ]

configuration de l'URL des pages de l'application racine/pages/urls.py

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

Mon hypothèse que vous avez déjà des réglages sur votre urls.py

from Django.urls import path, include 
# and probably something like this 
    urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

et sur votre application, vous devriez avoir quelque chose comme ça 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')
 ]

si c'est le cas, alors vous n'avez probablement pas activé votre environnement. Essayez ce qui suit pour activer d'abord votre environnement. pipenv Shell si vous obtenez toujours la même erreur, essayez les méthodes ci-dessous.

assurez-vous que Django est installé ?? un autre paquets? c'est-à-dire un oreiller essayez ce qui suit

pipenv install Django==2.1.5 pillow==5.4.1

alors rappelez-vous d'activer votre environnement

pipenv Shell

après que l'environnement est activé, essayez de courir

python3 manage.py makemigrations

python3 manage.py migrate

alors vous aurez besoin de courir

python3 manage.py runserver

J'espère que ça aide

1
user3719458

Pour ceux qui utilisent python 2.7, python2.7 ne prend pas en charge Django 2 et vous ne pouvez donc pas installer Django.urls. Si vous utilisez déjà python 3.6, vous devez donc mettre à niveau Django vers la dernière version qui est supérieure à 2.

  • Sur PowerShell

    pip installer -U Django

  • Vérification

>

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
>>>

À l’invitation suivante, cela signifie que le logiciel est installé et prêt à être utilisé.

1
Rishi Bansal

J'ai changé l'interprète python et cela a fonctionné. Sur le clavier, j'ai appuyé sur Ctrl + Maj + p. Sur la fenêtre suivante, j'ai tapé python: sélectionnez un interpréteur, puis une option vous permettait de sélectionner l'interprète que je voulais. A partir de là, j'ai choisi l'interprète python situé dans mon environnement virtuel.
Dans ce cas, c’était mon ~\DevFolder\myenv\scripts\python.exe

0
JuliusKiura

On dirait que vous avez oublié d'activer votre environnement virtuel, essayez de lancer python3 -m venv venv ou, si vous avez déjà configuré votre environnement virtuel, essayez de l'activer en exécutant source venv/bin/activate.

0
user3719458

Comme erreur montre que le chemin ne peut pas être importé.

enter image description here

Nous allons donc utiliser l'url au lieu du chemin comme indiqué ci-dessous: -

importez d’abord le package url , puis remplacez le chemin par url

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

pour plus d'informations, vous pouvez prendre la référence de cette lien .

0
Anoop Kumar