zoukankan      html  css  js  c++  java
  • django下数据库配置

    1、django默认支持sqlite、mysql、Oracle、postgresql数据库,像db2和sqlserver之类的数据库之类的数据库支持需要第三方的支持。具体详见:
    https://docs.djangoproject.com/en/1.9/ref/databases/

    Using a 3rd-party database backend¶

    In addition to the officially supported databases, there are backends provided by 3rd parties that allow you to use other databases with Django:

    SAP SQL Anywhere
    IBM DB2
    Microsoft SQL Server
    Firebird
    ODBC
    The Django versions and ORM features supported by these unofficial backends vary considerably. Queries regarding the specific capabilities of these unofficial backends, along with any support queries, should be directed to the support channels provided by each 3rd party project.

    sqlite:
    django默认使用sqlite的数据库,默认自带sqlite的数据库驱动,
    引擎名称:
    django.db.backends.sqlite3

    mysql
    引擎名称:
    django.db.backends.mysql

    2、MySQL驱动引擎下载地址
    MySQLdb(mysql-python):https://pypi.python.org/pypi/MySQL-python/1.2.5,仅仅支持Python2,Python2以后就没有更新,所以不支持Python3
    mysqlclient:https://pypi.python.org/pypi/mysqlclient,是mysqldb的一个分支,支持Python3

    MySQL官方驱动
    Connectoer/Python: https://dev.mysql.com/downloads/connectoter/python
    针对各个版本的Python都有特定的支持包

    PyMySQL(纯python的mysql驱动):
    http://pypyi.python.org/pypi/PyMySQL
    本次课程的Python驱动采用该驱动支持

    3、演示pymysql的使用
    1、安装pymysql
    2、修改配置文件

    错误提示:
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
    django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

    django用mysql数据库时,默认数据库引擎时导入mysqldb模块,所以为了不出现修改默认引擎,可以做如下操作:
    import pymysql
    pymysql.install_as_MySQLdb()

    将上述代码加入到settings.py中的即可,我这里直接放在DATABASES上:
    # Database
    # https://docs.djangoproject.com/en/1.9/ref/settings/#databases
    import pymysql
    pymysql.install_as_MySQLdb()
    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'hello_django_db',
    'USER':'root',
    'PASSWORD':'123456',
    'HOST':'127.0.0.1',
    'PORT':'3306',
    }
    }

    接下来做数据库同步
    Tools--->Run manage.py Task

    makemigrations--->生成数据库脚本文件
    migrate------>生成数据库表和数据

    manage.py@hello_django > makemigrations
    D:JetBrainsin unnerw.exe C:UsersAdministratorDocumentsWorkspacevenvdjango_basic_venvScriptspython.exe D:JetBrainshelperspycharmdjango_manage.py makemigrations C:/Users/Administrator/Documents/Workspace/pycharm/hello_django
    No changes detected
    Following files were affected
    Process finished with exit code 0
    manage.py@hello_django > migrate
    D:JetBrainsin unnerw.exe C:UsersAdministratorDocumentsWorkspacevenvdjango_basic_venvScriptspython.exe D:JetBrainshelperspycharmdjango_manage.py migrate C:/Users/Administrator/Documents/Workspace/pycharm/hello_django
    Operations to perform:
    Apply all migrations: contenttypes, admin, sessions, auth
    Running migrations:
    Rendering model states... DONE
    Applying contenttypes.0001_initial... OK
    Applying auth.0001_initial... OK
    Applying admin.0001_initial... OK
    Applying admin.0002_logentry_remove_auto_add... OK
    Applying contenttypes.0002_remove_content_type_name... OK
    Applying auth.0002_alter_permission_name_max_length... OK
    Applying auth.0003_alter_user_email_max_length... OK
    Applying auth.0004_alter_user_username_opts... OK
    Applying auth.0005_alter_user_last_login_null... OK
    Applying auth.0006_require_contenttypes_0002... OK
    Applying auth.0007_alter_validators_add_error_messages... OK
    Applying sessions.0001_initial... OK
    Following files were affected
    Process finished with exit code 0

  • 相关阅读:
    eclipse—Maven项目打包成exe
    netty+proto使用简要记录
    使用Kotlin开发第一个Android应用
    Android——调用高德地图API前期准备
    AndroidStudio更改包名
    Android Studio —— java.lang.VerifyError: Verifier rejected class 问题解决
    Android studio Error occurred during initialization of VM 问题解决
    AndroidStudio下使用 RecyclerView xml文件不显示预览条目并报错类似:NoClassDefFoundError 问题解决
    Genymotion模拟器安装问题及解决(启动失败,模拟器不能联网)
    华为荣耀畅玩5C NEM-UL10 ROOT那些事儿(亲测成功)
  • 原文地址:https://www.cnblogs.com/kindnull/p/8379769.html
Copyright © 2011-2022 走看看