我是Django的新手,想要在腳本中使用它的ORM,而不需要運行整個Django。我正在摸索如何配置它。搜索StackOverflow沒有幫助,因爲答案沒有顯示完整的圖片。在Django之外使用Django ORM
因此,我創建了一個小項目:
app.py
manage.py
orm/
__init__.py
models.py
manage.py具有配置:
from django.conf import settings
settings.configure(
DATABASE_ENGINE = 'mysql',
DATABASE_NAME = 'db',
DATABASE_USER = 'admin',
DATABASE_PASSWORD = '',
DATABASE_HOST = 'localhost',
INSTALLED_APPS = ('orm')
)
models.py:
from django.db import models
class Label(models.Model):
name = models.CharField(max_length=50) # required max_length
,最後我的主文件的應用程序。 py:
from django.conf import settings
from django.db import models
from orm.models import *
\# do database maniupaltions
雖然運行app.py後,我收到一個錯誤: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
我在做什麼錯?
django擁有管理命令,您可以在不運行runserver的情況下以腳本運行。在這裏閱讀更多信息:https://docs.djangoproject.com/en/1.11/howto/custom-management-commands/ –
使用自定義命令@VikashSingh已經提到。另一種方法是https://stackoverflow.com/a/41826771/5616580 – mateuszb
您正在配置'manage.py'中的設置,但您正在運行'app.py'。如果你要運行'app.py'這是你需要配置它們的地方。在使用ORM之前,您還需要調用'django.setup()'。 – knbk