web-dev-qa-db-fra.com

L'URL actuelle, app /, ne correspond à aucune de ces

Je suis un débutant à Django et je commence à le regarder avant un jour en installant Django 1.10 chez moi.

J'ai suivi toutes les instructions de ce lien https://docs.djangoproject.com/en/dev/intro/tutorial01/ . Cependant, j'obtiens continuellement cette erreur:

Page not found (404) Request Method:    GET Request URL:    http://127.0.0.1:8000/polls/

Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:

    ^admin/

The current URL, polls/, didn't match any of these.

J'ai créé l'application de sondage pour commencer.

Pour commencer, je suis allé avec view.py, voici le code:

sondages/vues.py

from Django.shortcuts import render

# Create your views here.

from Django.http import HttpResponse


def index(request):
    return HttpResponse("Hello World!")

Voici mon code pour urls.py:

sondages/urls.py

from Django.conf.urls import patterns, url

from . import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
)

Et voici l'urls.py en racine:

mysite/urls.py

from Django.conf.urls import patterns,include, url
from Django.contrib import admin

urlpatterns = patterns('',
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

J'ai passé un bon bout de temps à trouver la solution, j'ai constaté que cette question avait été posée à plusieurs reprises, alors j'ai essayé avec ces solutions également, mais aucune d'entre elles n'a fonctionné pour moi.

Je ne peux pas savoir ce qui me manque ici, alors attirez mon attention sur le vide.

7
Dhaval

Je pense que vous avez édité le mauvais fichier en essayant de changer la config de l'URL racine.

Assurez-vous d’éditer la configuration de l’URL racine dans mysite/mysite/urls.py (le répertoire contenant settings.py) et non pas mysite/urls.py (le répertoire contenant manage.py). 

Comme conseil général, installez la dernière version, actuellement la 1.9. N'utilisez pas la version 1.10, qui est en cours de développement. Assurez-vous de suivre le didacticiel pour 1.9 , car le didacticiel change pour différentes versions. Par exemple, votre mysite/urls.py ne correspond pas au didacticiel de la version 1.9, car la urlpatterns devrait être:

urlpatterns = [
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
]
16
Alasdair

Dans settings.py vous avez un nom de paramètre INSTALLED_APPS-

Vous y ajoute l’application polls.

INSTALLED_APPS = [
    'Django.contrib.admin',
    'Django.contrib.auth',
    ....
    'polls',
]
6
utkbansal

les nouvelles fonctionnalités de Django nécessitent de nouvelles solutions ...

from Django.conf.urls import url
from Django.contrib import admin

from polls.views import urls

urlpatterns = [
    ...
    url(r'^polls/$', urls),
] 

tapez dans votre navigateur, testé dans Django 1.10

http: // localhost: 8000/polls/

Veuillez télécharger un exemple de travail "HelloWorld" dans Django 1.10

https://mega.nz/#!qFsgBbRD!lAKKprkMLmhJcaZ8h5NPxkZcfQpB8qrh1nU4rSSaRAo

2

changer le mysite/url

    from Django.conf.urls import patterns,include, url
    from Django.contrib import admin

    urlpatterns = patterns('',
    url(r'^&', include('polls.urls')),
    url(r'^admin/', include(admin.site.urls)),
    )

Ensuite, lancez votre serveur et visitez 127.0.0.1/8000.Cela devrait vous mener à l'index de votre site web.

ou vous laissez votre code tel quel et lancez 127.0.0.1/8000/polls sur votre navigateur

1
Bello Tomi

Ça marche. Allez dans votre barre d'URL et tapez le nom de votre application:

http://127.0.0.1:8000/home

Mon nom d'application est la maison. Ça va marcher.

Si vous souhaitez définir votre application comme page par défaut, importez des vues à partir de votre application.

Comme

from home import views

puis écrire

url(r'^$', views.index),

à l'intérieur.

Il va définir les vues comme votre page par défaut

http://127.0.0.1:8000/

Lorsque vous tapez ceci, il sera redirigé vers vos vues.

1

J'ai eu le même problème que décrit. Exécuter une machine Windows.

Il s'est avéré que l'environnement virtuel que j'utilisais n'avait pas été configuré correctement (ou j'avais peut-être oublié de l'activer avant d'installer Django) et que l'interpréteur et Django-admin avaient été récupérés par CMD.EXE depuis le mauvais chemin.

S'il semble que Django "ignore" votre urls.py - essayez de tout supprimer, recréez l'environnement virtuel, activez-le et réinstallez ensuite Django. 

J'espère que cela t'aides.

1
Alexey Rodimov

Moi aussi j'ai eu le même problème en parcourant le didacticiel officiel de la documentation. J'utilisais le cloud 9. Avant de pouvoir résoudre ce problème, je réalisais que j'avais déjà choisi Django lors de la création de l'espace de travail (c'est-à-dire qu'au moment où mon espace de travail avait été créé, Django avait déjà été installé). à nouveau exécuté $ Django-admin startproject mysite ayant ainsi une autre couche de Django avec plusieurs annuaires et inévitablement la confusion. Ma solution était de tout supprimer et de tout recommencer.

Puisque ce problème est commun à beaucoup de gens, je suggère que la documentation du tutoriel Django soit plus explicite à ce sujet.

J'espère que cela aidera quelqu'un.

0
adebayo

si @Alasdair answer ne fonctionne pas et qu'il semble que vous travaillez avec les fichiers corrects, redémarrez simplement votre serveur.

0
user2338925