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

Django Python Discussion :

Lancer un projet existant en local


Sujet :

Django Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Par défaut Lancer un projet existant en local
    Bonsoir,

    J'ai récupéré un projet que je dois modifier. Il est développé avec Django, que je ne connais pas du tout.
    Je me suis fait la main en créant des pages simples avant de lancer le projet qu'on m'a donné.

    Ce projet justement, je n'arrive pas à le lancer correctement.
    Après l'avoir extrait sur la racine de mon ordinateur, j'ai modifié le fichier settings.py
    Je le lance, et là j'ai une erreur 404.
    Si je veux accéder à la partie admin, j'ai l'erreur suivante :

    AttributeError at /admin/
    'Settings' object has no attribute 'SITE_NAME'

    J'ai essayé plein de choses, je ne sais pas trop quoi faire.

    A noter que le projet est au chemin /modulo/

    Voici le fichier urls.py :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    from django.conf.urls.defaults import *
    from django.conf import settings
     
    from django.contrib import admin
    admin.autodiscover()
     
    urlpatterns = patterns('',
        (r'^admin/section/change_order/((?P<section_id>\d+)/)?$', 'modulo.page.views.changeMenuOrder'),
        (r'^admin/sponsors/change_order/$', 'modulo.sponsors.views.changeSponsorOrder'),
        (r'^admin/map/change_order/$', 'modulo.map.views.changeMapOrder'),
        (r'^admin/gallery/change_order/$', 'modulo.gallery.views.changeGalleryOrder'),
        (r'^admin/map/select_map/$', 'django.views.generic.simple.direct_to_template', {'template': 'map/select_form.html'}),
        (r'^admin/filebrowser/', include('filebrowser.urls')),
        (r'^admin/', include(admin.site.urls)),
        (r'^grappelli/', include('grappelli.urls')),
        (r'^$', 'django.views.generic.simple.redirect_to', {'url': '/accueil/'}),
     
        # URL des medias #
        (r'^medias/(?P<path>.*)$',
         'django.views.static.serve',
         {'document_root': settings.MEDIA_ROOT}),
         (r'^jsi18n/$', 'django.views.i18n.javascript_catalog',
         {'packages': 'django.conf'}),
    )
    Voici le fichier settings :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
     
    # -*- encoding: utf-8 -*-
     
    # Django settings for fimu project.
    import os
    #ABSOLUTE_PATH = os.getcwd()
     
    DEBUG = True
    TEMPLATE_DEBUG = DEBUG
     
    ADMINS = (
         ('***', '***'),
    )
     
    MANAGERS = ADMINS
     
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
            'NAME': 'modulo.db',                      # Or path to database file if using sqlite3.
            'USER': '',                      # Not used with sqlite3.
            'PASSWORD': '',                  # Not used with sqlite3.
            'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
            'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
        }
    }
     
    #CACHE_BACKEND = 'file://%s' % os.path.join(ABSOLUTE_PATH, 'cache/')
     
    # Local time zone for this installation. Choices can be found here:
    # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
    # although not all choices may be available on all operating systems.
    # On Unix systems, a value of None will cause Django to use the same
    # timezone as the operating system.
    # If running in a Windows environment this must be set to the same as your
    # system time zone.
    TIME_ZONE = 'Europe/Paris'
     
    # Language code for this installation. All choices can be found here:
    # http://www.i18nguy.com/unicode/language-identifiers.html
    LANGUAGE_CODE = 'fr'
     
    SITE_ID = 1
     
    SESSION_EXPIRE_AT_BROWSER_CLOSE = True
     
     
    # If you set this to False, Django will make some optimizations so as not
    # to load the internationalization machinery.
    USE_I18N = True
     
    # If you set this to False, Django will not format dates, numbers and
    # calendars according to the current locale
    USE_L10N = True
     
    # Absolute path to the directory that holds media.
    # Example: "/home/media/media.lawrence.com/"
    #MEDIA_ROOT = os.path.join(ABSOLUTE_PATH, 'medias/')
    MEDIA_ROOT = '/modulo/medias/'
     
    # URL that handles the media served from MEDIA_ROOT. Make sure to use a
    # trailing slash if there is a path component (optional in other cases).
    # Examples: "http://media.lawrence.com", "http://example.com/media/"
    MEDIA_URL = u'/medias/'
     
    # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
    # trailing slash.
    # Examples: "http://foo.com/media/", "/media/".
    ADMIN_MEDIA_PREFIX = '/modulo/admin-media/'
     
     
    ugettext = lambda s: s
     
    LANGUAGES = (
      ('fr', ugettext('French')),
      ('en', ugettext('English')),
      ('ar', ugettext('Arabic')),
      ('es', ugettext('Spanish')),
    )
     
     
    # List of callables that know how to import templates from various sources.
    TEMPLATE_LOADERS = (
        'django.template.loaders.filesystem.Loader',
        'django.template.loaders.app_directories.Loader',
    #     'django.template.loaders.eggs.Loader',
    )
     
    TEMPLATE_CONTEXT_PROCESSORS = (
        "django.core.context_processors.auth",
        "django.core.context_processors.request",
        "django.core.context_processors.debug",
        "django.core.context_processors.i18n",
        "django.core.context_processors.media",
        "django.core.context_processors.csrf",
        "multilingual.context_processors.multilingual",
        "modulo.context_processors.info",
        "modulo.context_processors.menus",
        "modulo.context_processors.photos",
        "modulo.context_processors.tweets",
    )
     
    MIDDLEWARE_CLASSES = (
        'django.middleware.common.CommonMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
    #    'django.middleware.locale.LocaleMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'modulo.middleware.PageFallbackMiddleware',
    )
     
    ROOT_URLCONF = 'modulo.urls'
     
    TEMPLATE_DIRS = (
        # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
        # Always use forward slashes, even on Windows.
        # Don't forget to use absolute paths, not relative paths.
        #os.path.join(ABSOLUTE_PATH, 'apps/grappelli/templates/'),
        #os.path.join(ABSOLUTE_PATH, 'templates'),
    '/modulo/apps/grappelli/templates/',
        '/modulo/templates/'
    )
     
    INSTALLED_APPS = (
        'captcha',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.sites',
        'django.contrib.messages',
        'django.contrib.admin',
        'filebrowser',
        'google_analytics',
        'grappelli',
        'mptt',
        'multilingual',
        'tinymce',
        'modulo.contact',
        'modulo.gallery',
        'modulo.groups',
        'modulo.map',
        'modulo.page',
        'modulo.schedule',
        'modulo.sponsors',
        'modulo.streaming',
    )
    J'utilise Django 1.2.5, ce projet a été développé avec la version 1.2.1, je ne sais pas si il peut y avoir un rapport.
    J'ai aussi remarqué que le projet tourne avec Apache en production, est ce que je dois l'utiliser aussi ?

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2
    Par défaut
    Bonjour,

    Tu as installé quelle version de python ?

  3. #3
    Membre très actif
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Par défaut
    Bonsoir,
    Je pense que l'interperteur réclame un nom de site <SITE_NAME> dans le fichier <settings.py>
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

  4. #4
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Tu ne devrais pas utiliser directement Apache en production pour comprendre ton projet.

    Django fournit un serveur minimaliste qui permet d'afficher plus précisément les errreurs.

    Par exemple, là où Apache te renvoie une erreur 404, le serveur de Django fournit une liste des chemins qu'il a essayé avant de renvoyer l'erreur 404. Ça te permet de savoir si tes liens dans urls.py sont corrects et de mieux cerner l'erreur.

    D'autre part, Apache compile le code python au démarrage, que tu utilise mod_wsgi ou mod_python. Donc si tu fais une modification dans ton code, tu dois redémarrer Apache pour la prendre en compte. Sinon Apache se base sur le code compilé qu'il a en mémoire vive et qui n'est pas modifié. Le serveur de développement de Django permet d'éviter ça, pas besoin de le redémarrer à chaque fois.

    Pour l'utiliser, lance la commande python manage.py runserver là où se trouve ton projet.
    Plus d'infos ICI

Discussions similaires

  1. Comment lancer un projet Maven existant
    Par infogenie_117 dans le forum Maven
    Réponses: 1
    Dernier message: 25/02/2010, 10h56
  2. Problème d'ouverture d'un projet existant
    Par krugarka dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 14/12/2006, 18h27
  3. [Débutant] maven Eclipse et projet existant
    Par davedenice dans le forum Maven
    Réponses: 2
    Dernier message: 04/10/2006, 14h28
  4. [Eclipse] Import d'un projet existant
    Par shaun_the_sheep dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/06/2006, 15h10
  5. [VB6]problème modificaion projet existant
    Par gorgonite dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/03/2006, 08h16

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