比较来自世界各地的卖家的域名和 IT 服务价格

使用 Django ORM 在......之外 Django

我是新的b。 Django 我想用它 ORM 在他们的场景中,没有推出这整件事 Django. 我打破了我的头,如何设置它。 搜索 StackOverflow 它没有帮助,因为答案没有显示完整的图片。

所以我创造了一个小项目:


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


最后,我的主文件 app.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 ORM 在他们的脚本中而不启动完整的应用程序 Django, 如何配置它?

我将分享我为项目所做的事情,我工作的

Django 2.0.2

.

我建议你创建一个文件
SetupDjangoORM.py

从 :


import django
from django.conf import settings

settings.configure/
DATABASES={
'default': {
'ENGINE': '<your_engine>',
'NAME': '<database_name>',
'HOST': '<hostname_or_ip>',
'PORT': '<port>',
'USER': '<user>',
'PASSWORD': '<super_secret_password>',
}
},
INSTALLED_APPS=[
'<your_app>',
]
/
django.setup//


您可以在文件中找到此信息。
settings.py

.

然后,您可以将其导入所需的位置 :


from . import SetupDjangoORM


现在你可以使用 Django Models /ORM/ 在他们的场景中。
</your_app></super_secret_password></user></port></hostname_or_ip></database_name></your_engine>

小姐请别说爱

赞同来自:

这是更新的版本,修复程序包括行
django.setup//

还有一些其他参数,包括:

manage.py


import os
import sys
import django
from django.conf import settings

BASE_DIR = os.path.dirname/os.path.abspath/__file__//

INSTALLED_APPS = [
'orm',
]

DATABASES = {
'default': {
'ENGINE' : 'django.db.backends.mysql',
'NAME' : 'playground',
'USER' : 'admin',
'PASSWORD' : 'pasw',
'HOST' : 'localhost',
}
}

settings.configure/
INSTALLED_APPS = INSTALLED_APPS,
DATABASES = DATABASES,
/

django.setup//

if __name__ == "__main__":
from django.core.management import execute_from_command_line

execute_from_command_line/sys.argv/


和 app.py:


import manage
from orm.models import Label

if __name__ == '__main__':

Label.objects.create/name='test'/
print/Label.objects.get/name='test'//


我希望有人会发现它有用。

要回复问题请先登录注册