web-dev-qa-db-fra.com

Python nom 'os' n'est pas défini

J'essaie de lancer ce module python

from settings import PROJECT_ROOT

DEBUG = True
TEMPLATE_DEBUG = DEBUG


DATABASES = {
    'default': {
        'ENGINE':  'Django.db.backends.sqlite3',
        'NAME' : os.path.join(BASE_DIR, 'db_name.sqlite3'),
    }
}


# Make this unique, and don't share it with anybody.
SECRET_KEY = 'sdfgtardyure34654356435'

# Python dotted path to the WSGI application used by Django's runserver; added in v1.4
WSGI_APPLICATION = 'wsgi.application'

############### PYSEC specific variables

# assumes this directory exists
DATA_DIR = "%s/pysec/data/" % PROJECT_ROOT

Mais chaque fois que j'essaie de l'exécuter par F5 j'ai compris

Traceback (most recent call last):
  File "C:\Python27\pysec-master\local_settings-example.py", line 11, in <module>
    'NAME' : os.path.join(BASE_DIR, 'db_name.sqlite3'),
NameError: name 'os' is not defined

Le module vit dans le C:\Python27\pysec-master et j’ai eu pysec pour ici

Savez-vous ce que je dois faire pour exécuter le module avec succès?

36

Ajoutez simplement:

import os

au début, avant:

from settings import PROJECT_ROOT

Cela importera le module python os, qui est apparemment utilisé plus tard dans le code de votre module sans être importé.

83
Ivaylo

Le problème est que vous avez oublié d'importer os. Ajoutez cette ligne de code:

import os

Et tout devrait bien se passer. J'espère que cela t'aides!

20
Quintec