2017-10-05 1 views
0

Je travaille sur , avec un projet . Chaque fois que je fais la chose "run", et je vais à ma page d'accueil ou où "http://127.0.0.1:8000/ .." Tout fonctionne très bien, mais je reçois cette erreur:Erreur avec django commençant

C: \ Users \ elmou \ AppData \ Local \ Programmes \ Python \ Python36-32 \ lib \ importlib__init __. Py: 126: SuppriméInDjango110Avertissement: django.core.context_processors est déconseillé en faveur de django.template.context_processors. retour _bootstrap._gcd_import (nom [niveau:], paquet, niveau)

Dois-je changer la version django ou quoi?! Merci.

fichier settings.py:

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.core.context_processors.request', 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
] 
+0

Veuillez indiquer le numéro de version de Django. Il est conseillé d'utiliser la dernière version stable. Probablement vous exécutez un exemple qui utilise le code qui était destiné à une version antérieure à 1.10, stable actuel est 1.11 LTS – tuned

+0

django version 1.9.4 –

+1

Vous avez seulement besoin de publier votre paramètre 'TEMPLATES' pour montrer vos processeurs de contexte. Comme le dit l'avertissement, vous ne devriez pas publier votre 'SECRET_KEY' en public. Vous devriez le changer maintenant. – Alasdair

Répondre

1
  1. Ce n'est pas une erreur mais un avertissement.
  2. Il indique que certaines fonctions ne sont pas disponibles (sont obsolètes) dans les versions suivantes de django, donc vous devez garder à l'esprit que si vous prévoyez une mise à niveau. C'est tout.
+0

Je suis d'accord. Et ceci est un avertissement assez générique. Voici plus d'informations sur le système de templates de Django: [https://docs.djangoproject.com/fr/1.11/ref/templates/api/#rendering-a-context](https://docs.djangoproject.com/fr/ 1.11/ref/templates/api/# rendu-un-contexte) – joshlsullivan

0

L'avertissement vous suggère de mettre à jour vos processeurs de contexte dans vos paramètres pour utiliser django.template.context_processors au lieu de django.core.context_processors.

Dans votre cas, c'est le processeur request (le premier élément) qui provoque l'avertissement. Vous avez déjà le nouveau chemin django.template.context_processors.request dans la liste, alors enlevez simplement django.core.context_processors.request. Vos processeurs de contexte seront alors:

'context_processors': [ 
    'django.template.context_processors.debug', 
    'django.template.context_processors.request', 
    'django.contrib.auth.context_processors.auth', 
    'django.contrib.messages.context_processors.messages', 
], 

Si vous avez besoin d'instructions plus spécifiques comme ça, alors s'il vous plaît modifier votre question d'inclure votre liste de processeurs de contexte de votre fichier de paramètres.

+0

J'ai ajouté le fichier de paramètres –

0

Je pense que les processeurs de contexte étaient listés dans leur propre arrangement de tuple dans le settings.py dans les versions antérieures de django mais cela a été changé et finalement obsolète dans Dango 1.10 d'où le RemovedInDjango110Warning.

Maintenant, vous devez lister vos processeurs de contexte en tant qu'options dans le paramètre Modèles de votre fichier settings.py. Quelque chose qui ressemble un peu à ceci:

TEMPLATES = [ 
    { 
     'BACKEND': '.......', 
     'DIRS': '........', 

     'OPTIONS':{ 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       ... 
       ... 
       ... 
      ] 
     }, 
    }, 
] 

La commande startproject dans les versions ultérieures devraient effectivement mettre en place pour vous.