IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

python django problème


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 151
    Par défaut python django problème
    Bonjour,

    Je suis entrain d'apprendre django.

    J'ai créé un projet nommé crepes_bretonnes avec cette commande django-admin.py startproject crepes_bretonnes, ainsi j'ai créé ma première application blog avec cette commande python manage.py startapp blog.

    Pour Organiser proprement les URL, j'ai créé un fichier que j'ai appelé urls sur le dossier blog qui contient le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    from django.conf.urls import patterns, url
     
    urlpatterns = patterns('blog.views', url(r'^accueil$', 'home'), 
                                  )
    Ainsi, j'ai modifié le code du fichier urls qui se trouve sur le dossier crepes_bretonnes comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    from django.conf.urls import include, url
    from django.contrib import admin
    from blog import *
     
    urlpatterns = [
     
        url(r'^admin/', include(admin.site.urls)),
        url(r'^blog/', include('blog.urls')),
    ]
    Pour la vue, voici le code qui la correspond:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #-*- coding: utf-8 -*-
    from django.http import HttpResponse
    from django.shortcuts import render
     
    # Create your views here.
    def home(request):
        """ Exemple de page HTML, non valide pour que l'exemple soit concis """
        text =u"""<h1>Bienvenue sur mon blog !</h1>
                  <p>Les crêpes bretonnes ça tue des mouettes en plein vol !</p>"""
        return HttpResponse(text)
    Mon problème est je n'arrive pas à trouver l'affichage de la page web http://localhost:8000/accueil.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AttributeError at /accueil
    'module' object has no attribute 'site'
    Merci d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2013
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 485
    Par défaut
    hichem0550

    Si tu veux avoir une réponse à "http://localhost:8000/accueil" il faut déclarer "accueil" dans ton url
    Donc, avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    from django.conf.urls import include, url
    from django.contrib import admin
    from blog.views import home
     
    urlpatterns = [
        url(r'^admin/', include(admin.site.urls)),
        url(r'^accueil$', home),
    ]
    Cela devrait marché

    Un conseil, active le mode débug (ajoute "DEBUG=True" dans le fichier "crepes_bretonnes/settings.py")
    Ainsi, si tu entres un URL invalide dans ton navigateur, django te retourne la liste des URLs qu'il connait.
    Cela peux bien t'aider pour comprendre tes erreurs.

    Bon courage

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 151
    Par défaut
    Merci pour votre réponse.

    Mon problème est j'ai deux fichiers urls.py, un sur le dossier crepes_bretonnes\blog qui contient ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    from django.conf.urls import include, url
    from django.contrib import admin
    from blog.views import home
     
    urlpatterns = [
        url(r'^admin/', include(admin.site.urls)),
        url(r'^accueil$', home),
    ]
    le deuxième sur le dossier crepes_bretonnes que je n'arrive pas à faire le lien entre eux, voir ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #-*- coding: utf-8 -*-
    from django.conf.urls import include, url
    from django.contrib import admin
    from blog import views
     
    urlpatterns = [
        url(r'^admin/', include(admin.site.urls)),
    url(r'^blog/', include('blog.urls')),
    ]
    et la vue elle est bien définie sur le dossier crepes_bretonnes\blog .

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur backend (python)
    Inscrit en
    Mai 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur backend (python)

    Informations forums :
    Inscription : Mai 2014
    Messages : 77
    Par défaut
    De ce que je vois, ton soucis c'est que tu essais d’accéder à une url qui n'est pas défini (http://localhost:8000/accueil)

    Si tu regardes bien tes fichiers, tu as ces urls :

    http://localhost:8000/admin -> dans le dossier crepes_bretonne

    http://localhost:8000/blog/admin -> Celle là ne sert à rien, tu va arriver au même endroit que l'url précédente, tu ferais mieux de l'enlever

    http://localhost:8000/blog/accueil -> Là ton url "accueil" déclaré dans le dossier blog avec le préfixe "blog" que tu as déclaré dans ton fichier crepes_bretonnes.


    Et je rejoins Laurent 1973, avec le DEBUG à True dans ton fichier settings.py, tu l'aurais vu directement, ils t'aurais donné les urls existantes dans ton projet.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2015
    Messages : 151
    Par défaut
    Merci.

    ça marche bien.

Discussions similaires

  1. Formulaire d'identification Python|Django
    Par kiradeus dans le forum Django
    Réponses: 5
    Dernier message: 13/01/2010, 16h05
  2. [Python 3] Problème avec sendall()
    Par sorry60 dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 19/04/2009, 17h14
  3. Swig - Python/C++ problème avec STL
    Par mencaglia dans le forum Interfaçage autre langage
    Réponses: 2
    Dernier message: 26/11/2007, 18h21
  4. [Django] Problème avec syncdb
    Par Soran dans le forum Django
    Réponses: 3
    Dernier message: 30/08/2007, 09h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo