zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    IO流(5)—缓冲流
    vue-element-admin 中文问题
    npm 下载慢解决方案
    fatal: unable to connect to github.com
    为什么有sessionStorage,localStorage等,还需要vuex
    vuex页面刷新数据丢失的解决办法
    Node中JWT的使用
    socket.io 实现长连接演示代码
    WebSocket 实现长连接演示代码
    jquery ajax上传文件
  • 原文地址:https://www.cnblogs.com/fixdq/p/9206087.html
Copyright © 2011-2022 走看看