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-33v3vu-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
Я надеюсь, что это может помочь!