用django1.7.4写了一个小工程,里面有一个脱离于django的脚本,去利用API爬一些数据放到数据库里,需要引用自己定义的models。网上查找了半天终于找到了解决方法。

import sys,os
grandfather_path=os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))
sys.path.append(grandfather_path)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ops_ansible.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

        当时的目录结构:

        -----project_dirname

          └──project_name

                └─ settings.py

          └── app_name

                └── tools

                      └─ api.py

       解释:第二条就是获取项目配置文件settings.py 相对于api.py的路径,这个是绝对路径,添加到环境变量里,这样才能成功的引入。