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 :

Mise en production d'un projet basique.


Sujet :

Django Python

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 51
    Points : 44
    Points
    44
    Par défaut Mise en production d'un projet basique.
    Bonjour!

    Je viens poster ici un peu en guise de joker car je suis encore débutant en développement web, et que j'aurais besoin d'un peu d'aide, j'espère avoir choisi le bon endroit pour poster.
    Je me suis beaucoup appuyé sur un livre pour découvrir Django, dont le chapitre sur la mise en production .

    J'ai voulu m'exercer au passage en prod avec un petit projet de test réalisé avec django (permettant l'affichage d'une bête page de test).
    Ce projet ("blog") contient juste une application ("news") avec un fichier de vues, contenant une unique vue qui renvoie du code html écrit directement dans le code en python pour le test de la mise en prod.
    J'arrive à faire fonctionner ce petit projet avec runserver, il m'affiche correctement la page que DEBUG soit à False ou à True.

    Je suis passé par plusieurs bugs avec la mise en prod, et j'avoue être un peu perdu quant à la cause de celui sur lequel je bloque actuellement, j'ai du mal à établir un diagnostique et localiser le soucis, et je parviens encore moins à le comprendre.

    Le problème :
    Lorsque j'essaie d'accéder à mon projet avec un navigateur j'obtiens une erreur 400 (bad request).

    Je vais décrire ma config et ce qui marche, tout cela de manière exhaustive (je m'excuse d'ailleurs par avance pour la longueur) :

    Général :
    J'utilise un Raspberry Pi avec Arch ARM (Dérivée d'Archlinux).
    J'ai installé dessus :
    -Python 3.4
    -Apache 2.4
    -Django 1.6.5
    -uwsgi 2.0

    Tout le travail que je fait est en local, à titre expérimental.

    Ce qui fonctionne :
    -J'arrive à faire fonctionner plusieurs vhosts avec des pages statiques en html, en local.
    -J'arrive à faire fonctionner mon projet Django avec runserver.

    Voici à présent les fichiers de config :

    - /etc/hosts que j'ai modifié pour utiliser les différents vhosts sans changer de port.
    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
    #
    # /etc/hosts: static lookup table for host names
    #
     
    #<ip-address>   <hostname.domain.org>   <hostname>
    127.0.0.1       localhost.localdomain   localhost
    ::1             localhost.localdomain   localhost
     
    127.0.0.1       test.localhost.localdomain      test.localhost
    127.0.0.1       test.fr                         localhost
    127.0.0.1       test.test.fr                    localhost
    127.0.0.1       default.test.fr                 localhost
    127.0.0.1       test_django.test.fr             localhost
     
    # End of file

    - /etc/httpd/conf/httpd.conf contient un include vers /etc/httpd/conf/extra/httpd-vhosts.conf et un LoadModule wsgi_module modules/mod_wsgi.so (pour WSGI).

    - /etc/httpd/conf/extra/httpd-vhosts.conf
    Le vhost concerné est test_django.test.fr.

    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
    <Virtualhost test.test.fr:80>
                 DocumentRoot "/var/www/test/htdocs"
                 ServerName test.test.fr
                 Include "/var/www/test/conf/httpd-app.conf"
    </VirtualHost>
     
    <VirtualHost default.test.fr:80>
                 DocumentRoot "/var/www/default/htdocs"
                 ServerName default.test.fr
                 Include "/var/www/default/conf/httpd-app.conf"
    </VirtualHost>
     
    <VirtualHost test_django.test.fr:80>
                 Include "/var/www/test_django/conf/httpd-app.conf"
    </VirtualHost>
     
    <VirtualHost test.fr:80>
                 DocumentRoot "/srv/http"
                 ServerName test.fr
    </VirtualHost>
    - /var/www/test_django/conf/httpd-app.conf contient la conf du projet fait avec Django, il est inclus dans le fichier précédent (/etc/httpd/conf/extra/httpd-vhosts.conf).
    Les lignes de configuration viennent de l'exemple.
    Seulement la ligne avec WSGIPythonPath provoque une erreur dans un virtualhost au redémarrage d'Apache, j'ai donc du l'enlever mais je ne lui connais pas de substitut.

    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
    WSGIScriptAlias / /var/www/test_django/htdocs/blog/blog/wsgi.py
    #WSGIPythonPath /var/www/test_django/htdocs/blog/blog
     
    DocumentRoot "/var/www/test_django/htdocs/blog/"
    ServerName test_django.test.fr
     
     
    <Directory /var/www/test_django/htdocs/blog/blog/ >
    #<Files wsgi.py>
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
    #</Files>
    </Directory>
     
    <Directory /var/www/test_django/htdocs/blog/ >
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
    </Directory>
    - /var/www/test_django/htdocs/blog/blog/settings.py, le fichier de configuration du projet :

    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
    """
    Django settings for blog project.
     
    For more information on this file, see
    https://docs.djangoproject.com/en/1.6/topics/settings/
     
    For the full list of settings and their values, see
    https://docs.djangoproject.com/en/1.6/ref/settings/
    """
     
    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    import os
    BASE_DIR = os.path.dirname(os.path.dirname(__file__))
     
     
    # Quick-start development settings - unsuitable for production
    # See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
     
    # SECURITY WARNING: keep the secret key used in production secret!
    SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
     
    # SECURITY WARNING: don't run with debug turned on in production!
    DEBUG = True
     
    TEMPLATE_DEBUG = True
     
    ADMINS = (
        ('myName', 'myname@mail.fr'),
    )
     
    #ALLOWED_HOSTS = ['test_django.test.fr', '127.0.0.1', 'localhost']
    ALLOWED_HOSTS = '*'
     
     
    # Application definition
     
    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'news',
    )
     
    MIDDLEWARE_CLASSES = (
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    )
     
    ROOT_URLCONF = 'blog.urls'
     
    WSGI_APPLICATION = 'blog.wsgi.application'
     
    TEMPLATE_DIRS = (
        os.path.join(BASE_DIR, 'templates')
    )
     
    # Database
    # https://docs.djangoproject.com/en/1.6/ref/settings/#databases
     
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'database.sql'),
        }
    }
     
    # Internationalization
    # https://docs.djangoproject.com/en/1.6/topics/i18n/
     
    LANGUAGE_CODE = 'en-us'
     
    TIME_ZONE = 'Europe/Paris'
     
    USE_I18N = True
     
    USE_L10N = True
     
    USE_TZ = True
     
     
    # Static files (CSS, JavaScript, Images)
    # https://docs.djangoproject.com/en/1.6/howto/static-files/
     
    STATIC_URL = '/static/'
     
    APPEND_SLASH = True
    -le fichier /var/www/test_django/htdocs/blog/blog/wsgi.py qui contient le script permettant de faire le lien entre Apache et Django du moins si j'ai bien compris.
    Il a été un peu modifié par un ami pour résoudre une erreur 500, et je ne comprends pas forcément ce qui s'y trouve.

    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
    """
    WSGI config for blog project.
     
    It exposes the WSGI callable as a module-level variable named ``application``.
     
    For more information on this file, see
    https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/
    """
     
    #import os
    #os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings")
     
    #from django.core.wsgi import get_wsgi_application
    #application = get_wsgi_application()
     
    import os, sys
    import django.conf.global_settings as DEFAULT_SETTINGS
     
    SETTINGS_DIR = os.path.dirname(__file__)
    PROJECT_PATH = os.path.join(SETTINGS_DIR, os.pardir)
    PROJECT_PATH = os.path.abspath(PROJECT_PATH)
     
    sys.path.append(PROJECT_PATH)
     
    os.environ['DJANGO_SETTINGS_MODULE'] = 'blog.settings'
    #### Security
    os.environ['HTTPS']= "on"
     
    import django.core.handlers.wsgi
     
    _application = django.core.handlers.wsgi.WSGIHandler()
     
    def application(environ, start_response):
        #environ['SCRIPT_NAME'] = '/'
        environ['PATH_INFO'] = environ['SCRIPT_NAME'] + environ['PATH_INFO']
        return _application(environ, start_response)
    - le résultat d'un ls -lRa /var/www/test_django/htdocs/blog (pour l'arborescence de mon projet)

    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
    /var/www/test_django/htdocs/blog:
    total 20
    drwxr-xr-x 4 vmonteco users 4096 Jan  1 21:31 .
    drwxr-xr-x 4 vmonteco root  4096 Dec 31 22:10 ..
    drwxr-xr-x 3 vmonteco users 4096 Jan  1 21:54 blog
    -rwxr-xr-x 1 vmonteco users  248 Jan 20  1970 manage.py
    drwxr-xr-x 3 vmonteco root  4096 Jan  1 21:54 news
     
    /var/www/test_django/htdocs/blog/blog:
    total 24
    drwxr-xr-x 3 vmonteco users 4096 Jan  1 21:54 .
    drwxr-xr-x 4 vmonteco users 4096 Jan  1 21:31 ..
    -rwxr-xr-x 1 vmonteco users    0 Jan 20  1970 __init__.py
    drwxr-xr-x 2 vmonteco users 4096 Jan  1 18:54 __pycache__
    -rwxr-xr-x 1 vmonteco users 2209 Jan  1 18:49 settings.py
    -rwxr-xr-x 1 vmonteco users  333 Jan  1 18:38 urls.py
    -rwxr-xr-x 1 vmonteco users 1015 Jan  1 18:32 wsgi.py
     
    /var/www/test_django/htdocs/blog/blog/__pycache__:
    total 24
    drwxr-xr-x 2 vmonteco users 4096 Jan  1 18:54 .
    drwxr-xr-x 3 vmonteco users 4096 Jan  1 21:54 ..
    -rwxr-xr-x 1 vmonteco users  132 Jan 20  1970 __init__.cpython-34.pyc
    -rw-r--r-- 1 root     root  1728 Jan  1 18:53 settings.cpython-34.pyc
    -rw-r--r-- 1 root     root   402 Jan  1 18:54 urls.cpython-34.pyc
    -rw-r--r-- 1 root     root  1045 Jan  1 18:54 wsgi.cpython-34.pyc
     
    /var/www/test_django/htdocs/blog/news:
    total 32
    drwxr-xr-x 3 vmonteco root  4096 Jan  1 21:54 .
    drwxr-xr-x 4 vmonteco users 4096 Jan  1 21:31 ..
    -rwxr-xr-x 1 vmonteco root     0 Dec 31 21:51 __init__.py
    drwxr-xr-x 2 vmonteco root  4096 Jan  1 18:54 __pycache__
    -rwxr-xr-x 1 vmonteco root    63 Dec 31 21:51 admin.py
    -rwxr-xr-x 1 vmonteco root    57 Dec 31 21:51 models.py
    -rwxr-xr-x 1 vmonteco root    60 Dec 31 21:51 tests.py
    -rw-r--r-- 1 vmonteco users  135 Dec 31 22:24 urls.py
    -rwxr-xr-x 1 vmonteco root   308 Jan  1 18:52 views.py
     
    /var/www/test_django/htdocs/blog/news/__pycache__:
    total 28
    drwxr-xr-x 2 vmonteco root 4096 Jan  1 18:54 .
    drwxr-xr-x 3 vmonteco root 4096 Jan  1 21:54 ..
    -rwxr-xr-x 1 vmonteco root  132 Dec 31 22:11 __init__.cpython-34.pyc
    -rwxr-xr-x 1 vmonteco root  177 Dec 31 22:11 admin.cpython-34.pyc
    -rwxr-xr-x 1 vmonteco root  174 Dec 31 22:11 models.cpython-34.pyc
    -rw-r--r-- 1 root     root  280 Dec 31 22:28 urls.cpython-34.pyc
    -rw-r--r-- 1 root     root  484 Jan  1 18:54 views.cpython-34.pyc

    - Logs :

    Lorsque le problème survient (lorsque j'essaie d'accéder avec un navigateur -j'utilise lynx- à test_django.test.fr) j'ai une erreur Bad Request (400).
    /var/log/httpd/error_log n'a rien reçu et /var/www/log/httpd/access_log a juste reçu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    127.0.0.1 - - [02/Jan/1970:05:59:56 +0100] "GET / HTTP/1.0" 400 26
    CE QUE J'AI DÉJÀ ESSAYÉ :

    -Essayer de mettre la variable DEBUG à False ou True.
    -Essayer de mettre '*' dans ALLOWED_HOSTS.
    -Faire un print() dans les vues pour essayer d'obtenir des informations supplémentaires, mais on n'a réussi à les récupérer qu'avec runserver, or de cette manière cela fonctionne.


    Seulement voilà là je dois avouer que je bloque faute de comprendre le soucis :S

    Je rappelle que le projet fonctionne sans soucis avec runserver (donc en développement).

    Je vous remercie d'avoir pris le temps de lire et je vous remercie d'avantage si vous avez une idée pouvant résoudre le problème.

    Par ailleurs toute remarque pouvant nous aider à la compréhension du problème ou d'un autre soucis que vous estimez digne d'intérêt est bien entendu la bienvenue!

    Merci d'avance!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Je ne suis pas tout à fait sur de moi, mais essaye de rajouter dans ton settings.py ALLOWED_HOSTS = ['*'].
    Si ça marche, il faudra mettre dans ce tableau tous les hosts que ton site Django est autorisé à servir. Tu trouveras plus d'explications ici.

    Et par ailleurs, chapeau pour la présentation de ton problème ! c'est trop rare de voir des topics aussi détaillés et bien présentés ici !

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 51
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Enerian Voir le message
    Salut,

    Je ne suis pas tout à fait sur de moi, mais essaye de rajouter dans ton settings.py ALLOWED_HOSTS = ['*'].
    Si ça marche, il faudra mettre dans ce tableau tous les hosts que ton site Django est autorisé à servir. Tu trouveras plus d'explications ici.

    Et par ailleurs, chapeau pour la présentation de ton problème ! c'est trop rare de voir des topics aussi détaillés et bien présentés ici !
    Bonjour, Merci de votre réponse.

    J'ai en fait déjà essayé ceci un peu dans tous les sens, plus deux autres trucs que j'ai aussi mentionnés en fin de post.

    Si vous vouliez dire "ajouter les crochets" ça n'arrange pas grand-chose en fait, mais merci quand même!

    Pour ce qui est de la présentation j'avais un peu peur de rebuter en n'étant pas assez concis. Mais comme je ne sais vraiment pas à quel niveau peut se situer ce problème j'ai essayé de tout couvrir.

    Merci encore pour votre réponse!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Effectivement, je n'avais pas vu que tu avais essayé ça.
    Pourtant toutes mes recherches aboutissent à ça.

    Je ne comprend pas l'utilité de tes ajouts dans le /etc/hosts de ton rasberry. Les vhosts peuvent tous utiliser le même port sans ça normalement, si apache est configuré pour se baser sur les noms de domaines.

    Par ailleurs, tu utilises lynx depuis le rasberry lui-même ?

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 51
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Enerian Voir le message
    Effectivement, je n'avais pas vu que tu avais essayé ça.
    Pourtant toutes mes recherches aboutissent à ça.

    Je ne comprend pas l'utilité de tes ajouts dans le /etc/hosts de ton rasberry. Les vhosts peuvent tous utiliser le même port sans ça normalement, si apache est configuré pour se baser sur les noms de domaines.

    Par ailleurs, tu utilises lynx depuis le rasberry lui-même ?
    Toutes mes recherches aboutissent effectivement là-dessus aussi, c'est pour ça que j'étais bien embêté puisque la solution proposée ne marche pas. :S

    J'utilise lynx effectivement depuis le Raspberry, tout le travail que je fais sur django je ne le fait actuellement qu'en local et comme je bosse exclusivement en ligne de commande dessus...
    Ceci-dit avec n'importe quel autre vhost ça fonctionne!
    Sauf si dans ma config Apache, je mets la ligne avec WSGIScripAlias en dehors de tout bloc (directory, virtualhost...). Si je fais ça j'obtiens des erreurs 403 partout. J'ai eu du mal à le corriger celui-là, même si je l'ai à peu près compris.
    Comme je l'ai indiqué une des lignes (avec WSGIPythonPath) ne passait pas dans un virtualhost, je l'ai donc retirée.
    Un ami a ajouté quelques lignes dans wsgi.py, je ne sais pas si ça permet de remplacer cette ligne avec WSGIPythonPath, mais on n'a pas réussi à corriger le problème pour lequel je poste ici.

    Pour ce qui est des ajouts dans /etc/hosts je m'étais effectivement posé la question, mais je n'ai pas de nom de domaine, et comme le fichier /etc/hosts n'accepte pas les regex je suis obligé d'y mettre les noms des vhosts un par un. Sauf si je configure un serveur DNS mais je vais d'abord essayer avec le fichier hosts, j'ai déjà assez de mal comme ça.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Est-ce que tu peux essayer d'utiliser wget : wget test_django.test.fr et vérifier que tu as bien un status code 400 ? ou via curl curl --head test_django.test.fr ?
    J'ai lu quelques topics sur lynx qui pouvait déconner dans certains cas.

    Il serait intéressant que tu teste aussi depuis un navigateur sur une autre machine sur le même réseau. Par contre, tu devras ajouter dans le fichier hosts de cette machine l'association de test_django.test.fr avec l'IP de ton rasberry.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 51
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Enerian Voir le message
    Est-ce que tu peux essayer d'utiliser wget : wget test_django.test.fr et vérifier que tu as bien un status code 400 ? ou via curl curl --head test_django.test.fr ?
    J'ai lu quelques topics sur lynx qui pouvait déconner dans certains cas.

    Il serait intéressant que tu teste aussi depuis un navigateur sur une autre machine sur le même réseau. Par contre, tu devras ajouter dans le fichier hosts de cette machine l'association de test_django.test.fr avec l'IP de ton rasberry.
    Je viens de tester les deux, c'est bel et bien une erreur 400 (Bad request), lynx ne s'est pas trompé.

    Pour ce qui est d'accéder à mon projet depuis l'extérieur, je n'ai que des erreurs 403 après avoir configuré mon fichier /etc/hosts sur l'autre machine. Mais pour l'instant je ne suis pas certains qu'il faille s'en préoccuper. :/ Si on parvient à le faire fonctionner en local mais que depuis l'extérieur c'est toujours inaccessible par contre...

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    A mon sens (et à la relecture du RFC 952), un host name contenant '_' (test_django par exemple) est invalide.
    Et l'erreur 400 ne dit pas autre chose.
    Renommez "test_django" en "test-django".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Invité
    Invité(e)
    Par défaut
    @wiztricks : c'est bon à savoir, merci !

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 51
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    A mon sens (et à la relecture du RFC 952), un host name contenant '_' (test_django par exemple) est invalide.
    Et l'erreur 400 ne dit pas autre chose.
    Renommez "test_django" en "test-django".

    - W
    Ça fonctionne!
    C'était bien ça, bien vu! Franchement bravo.

    Du coup je vais pouvoir avancer Merci à vous deux!

    Par contre il est franchement lent à me le servir :S

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise en production - Fusion de sites
    Par pattypat_06 dans le forum SharePoint
    Réponses: 3
    Dernier message: 10/07/2007, 10h39
  2. [ASP.NET]Mise en production
    Par Oufti dans le forum ASP.NET
    Réponses: 3
    Dernier message: 22/05/2007, 11h33
  3. Problème packages SSIS (mise en production)
    Par kince dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/04/2007, 19h40
  4. Premières mises en productions de GlassFish
    Par alexismp dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 19/02/2007, 22h55
  5. que signifie mise en production?
    Par kitty2006 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 04/10/2006, 11h47

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