我之前问过这个问题,但我还是卡住了。此脚本最终将作为 cron 作业运行。
上一个问题:Importing CSV to Django and settings not recognised
我已经跳过了导入 csvs 的实际代码,因为这不是问题所在。
import urllib2
import csv
import requests
from django.core.management import setup_environ
from django.db import models
from gmbl import settings
settings.configure(
DEBUG = True,
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '/Users/c/Dropbox/Django/mysite/mysite/db.db', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': '',
'PASSWORD': '',
'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
)
#
from sys import path
sys.path.append("/Users/chris/Dropbox/Django/mysite/gmbl")
from django.conf import settings
这给了我回溯:django.core.exceptions.ImproperlyConfigured:请求设置数据库,但未配置设置。在访问设置之前,您必须定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure() 。
注销
所以我尝试切换它,并将 settings.configure... 等放在 from django.db import models
行之前,但它只是说 “settings not defined”
我试过添加
from django.core.management import setup_environ
from django.db import models
from yoursite import settings
setup_environ(settings)
答案中建议的代码,但在 from django.db import models 部分仍然出错。除了对其他人来说非常明显的东西之外,我还缺少什么?
最佳答案
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'yoursite.settings'
import django
django.setup()
然后您就可以使用您的模型了。
from my_app.models import MyModel
all_objects = MyModel.objects.all()
关于python - 独立的 Django 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18211551/