zoukankan      html  css  js  c++  java
  • Django进阶Model篇001

    django 默认支持sqlite、mysql、oracle、postgresql数据库,像db2和sqlserver之类的数据库需要第三方的支持,具体详见:

    https://docs.djangoproject.com/en/1.10/ref/databases/

    环境准备

    • 使用命令行创建hello_django 项目与hello app
    django-admin startproject hello_django
    cd hello_django
    django-admin startapp hello
    
    • 使用pycharm导入

    MYSQL介绍与连接配置

    1.mysql 引擎名称介绍:

    django.db.backends.mysql

    2.mysql 驱动程序介绍:

    MySQLdb(mysql-python):https://pypi.python.org/pypi/MySQL-python/1.2.5

    PyMySQL(纯python的mysql驱动-推荐) :https://pypi.python.org/pypi/PyMySQL

    演示pymysql的使用

    1.安装:

    pip install pymysql
    

    2.数据库连接配置 setting.py

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'hello_django_db',
            'USER':'root',
            'PASSWORD':'123456',
            'HOST':'',
            'PORT':'',
        }
    }
    

    3.创建数据库 hello_django_db

     4.编辑hello_django\__init__.py

    import pymysql
    pymysql.install_as_MySQLdb()
    

    5.配置完毕,可运行项目

    ORM机制

    1.定义

    对象关系映射(ORM),用于实现面向对象编程里不同类型系统的数据之间的转换。换句话说,就是用面向对象的方式去操作数据库的创建表,增加、修改、删除、查询等操作。

    2.演示ORM生成的sql语句。

    A、查看QuerySet中的query属性

    def hello(request):
        user_list=User.objects.all()
        print user_list.query
        ...

    B、配置日志系统,将sql显示到控制台,setting.py

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'handlers': {
            'console': {
                'level': 'DEBUG',
                'class': 'logging.StreamHandler',
            },
        },
        'loggers': {
            'django': {
                'handlers': ['console'],
                'level': 'DEBUG',
                'propagate': True,
            },
        },
    }
    

    更多详情见:https://docs.djangoproject.com/en/1.10/topics/logging/


    ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
  • 相关阅读:
    安装完QQ必须要删除掉的几个恐怖文件
    dede实战系统:更换成kindEditor编辑器
    PHP 5.4 中经 htmlspecialchars 转义后的中文字符串为空的问题
    DEDECMS图片集上传图片出错302的解决办法
    dedecms安装完成后登录后台出现空白
    OFV.msi是什么 为什么更新时无法安装
    CentOS 挂载NTFS分区的两种方法
    centos使用yum安装gcc
    NetBeans菜单栏字体太小了
    注入漏洞页
  • 原文地址:https://www.cnblogs.com/guanfuchang/p/6401332.html
Copyright © 2011-2022 走看看