Django之使用模型API的方式

使用Django提供的数据库访问

项目结构:

mysite/
    manage.py
    app01/
       migrations/
            __init__.py  
        __init__.py
        settings.py
        admin.py
        apps.py
        urls.py
        modes.py
        tests.py
        views.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    templates/

注意:以下三种方式最好在Django项目的目录下

方式一 使用纯净的python shelll

$ python   # 进入纯净的pyhton shell 环境
>>> import os 
>>> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")  # 配置环境,导入(settings.py)中的配置
>>> import django  # 导入django
>>> django.setup()  # 启动django
>>> from app01 import models  # 导入models
>>> models.Book.objects.all()  # 执行数据操作
>>> 显示操作的结果

方式二 调用python manage.py

相比较直接输入“python”命令的方式进入Python环境,调用manage.py参数能将DJANGO_SETTINGS_MODULE环境变量导入,它将自动按照mysite/settings.py中的设置,配置好你的python shell环境,这样,你就可以导入和调用任何你项目内的模块了。

$ python manage.py shell
>>> from app01 import models # 导入models >>> models.Book.objects.all() # 执行数据操作 >>> 显示操作的结果

方式三 使用自定义py脚本

相比较以上两种方方式,这一种方式可以保留下来我们的测试代码

# models_test.py

import os
from django.db import connection


if __name__ == "__main__":
    # 指定当前py脚本需要加载的Django项目配置信息
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

    # 启动Django项目
    import django
    django.setup()

    from app01 import models
    
    rets = models.Book.objects.all()
    print(res)
posted @ 2018-06-20 21:08  Fixdq  阅读(709)  评论(0编辑  收藏  举报