Python GUI не будет импортировать + SQlite ENGINE

Как новичок в Python, я должен понимать этот код:

from settings import PROJECT_ROOT

-> Я пытаюсь набрать это в оболочке Python, но Python дает мне трассировку, хотя у меня есть такой модуль

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '',                      # 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.
    }
}

-> Я хочу использовать sqlite БД, встроенную в Python, но я действительно не могу понять, что я должен делать

Извините меня за основность вопроса, но я чувствую себя подавленным задачей, которую я имею в Python в эти дни.

Для полноты картины это весь код в модуле, который называется settings.py:

from settings import PROJECT_ROOT

DEBUG = True
TEMPLATE_DEBUG = DEBUG


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '',                      # 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.
    }
}


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

# 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

ОБНОВИТЬ

Я не хочу подчеркивать ваше и без того перегруженное терпение, но почему он продолжает говорить мне SECRET_KEY значение пусто? я кладу

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

и это дает мне это в тексте

raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")

Вот это на картинке в cmd

1 ответ

Решение

Попробуйте использовать python manage.py shell открыть оболочку python.

Обычно settings.py файл находится в корневом каталоге проекта, поэтому для импорта PROJECT_ROOT переменная, вы можете использовать from project_name.settings import PROJECT_ROOT

[РЕДАКТИРОВАТЬ]

Чтобы использовать движок sqlite, измените DATABASES словарь для:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(PROJECT_ROOT, '/project_database/db_name.sqlite3'),
    }
}

2 [EDIT]

Там нет стресса. В качестве подсказки, посмотрите этот вопрос Добавление пути к Python в Windows 7, чтобы добавить файлы python в переменную win path, это поможет вам избежать размещения ваших проектов внутри c:PythonXX и использовать вместо этого другой каталог.

Я взглянул на связанный проект github, и он, кажется, объясняет в файле README, что вы должны добавить переменные SECRET_KEY и DATA_DIR.

Вот обходной путь, который я сделал, чтобы получить работу этого проекта:

$ git clone https://github.com/lukerosiak/pysec.git
$ cd pysec
$ ls # the dir command when on Windows
README.md
TODO.md
local_settings-example.py
manage.py*
pysec/
requirements.txt
settings.py*
$ cp local_settings-example.py local_settings.py

Изменить local_settings.py файл и измените переменные SECRET_KEY и DATA_DIR:

SECRET_KEY = '@r65u-33&#2v3vu-e^h-%u4kg=g9y5z'
DATA_DIR = '/home/slacker/pysec/project_database' # or something like: C:\\users\tosh\pysec\

Project_database Run:

$ python manage.py syncdb

Я надеюсь, что это может помочь!

Другие вопросы по тегам