Django-fr

Forum

#1 20-03-2011 21:01:58

Matt112
Membre
Inscription : 20-03-2011
Messages : 3

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 :

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 :

# -*- 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 ?

Dernière modification par Matt112 (20-03-2011 21:03:50)

Hors ligne

#2 20-03-2011 21:31:17

quinode
Membre
Lieu : Auvergne
Inscription : 14-10-2010
Messages : 89
Site Web

Re : Lancer un projet existant en local

Tu pourrais déjà essayer de faire ce qu'il réclame : indiquer  SITE_NAME = 'trucmuche'  dans le fichier settings
Ce n'est pas une variable de base, mais cette dépendance a pu être ajoutée dans une section de l'admin qui a été personnalisé.

En production, tu pourras utiliser Apache + mod_wsgi , ou nginx + fcgi ou toute autre combinaison possible

Hors ligne

#3 20-03-2011 21:43:18

Matt112
Membre
Inscription : 20-03-2011
Messages : 3

Re : Lancer un projet existant en local

Oui je me suis trompé, j'ai enlevé le champs 'SITE_NAME' par erreur.

L'erreur qu'il me retourne lorsque j'essaye d'accéder à /admin est celle-ci :

TypeError at /admin/
add_filter() got an unexpected keyword argument 'force_having'

Hors ligne

#4 20-03-2011 22:08:16

Matt112
Membre
Inscription : 20-03-2011
Messages : 3

Re : Lancer un projet existant en local

Et concernant Apache, il est utilisé en production, mais je ne l'utilise pas en local.
Est-ce que cela peut avoir un rapport avec les erreurs que j'obtiens ?

Merci smile

Hors ligne

Pied de page des forums