您的位置:首页 > 数据库 > SQL

django配置数据库为mysql

2016-10-10 09:17 483 查看
django配置数据库默认为sqlite3,这是一个小型数据库。django还支持市面上流行的数据库,如SQLServer, MySQL, Oracle等。本文介绍如何在django中配置其数据库为mysql。

Django.version: 1.10.1

1.  确认Python是否安装MySQLdb模块

     进入cmd,执行如下操作:

   


    如果import MySQLdb报错,需要安装这个模块。

2.  Create Project and APP

    E:\>python   django-admin.py     startproject  
mysite

    E:\mysite>cd  mysite

    E:\mysite>python   django-admi.py     startapp  
blog    或者   python   manage.py    startapp  
blog

    说明:Project与App的关系,一个Project可以有多个App构成。

3. Create your DB in MySQL(Assume 'mydb' as the database name)

    mysql> create  database  mydb;

    mysql> commit;

    mysql> exit;

4.  修改project的配置,找到/mysite/mysite/setting.py,修改相关内容( INSTALLED_APPS与DATABASES元组 )

    INSTALLED_APPS = (

         'django.contrib.admin',

         'django.contrib.auth',

         'django.contrib.contenttypes',

         'django.contrib.sessions',

         'django.contrib.messages',

         'django.contrib.staticfiles', 

         'blog',    #Add your own app name,  this is the app name
you have created at step 2.

    )

    DATABASES = {

        'default':
{

              'ENGINE':
'django.db.backends.mysql',# Add 'postgresql_psycopg2','mysql', 'sqlite3' or 'oracle'

              'NAME':
'mydb',                     # Your db name, Or path to database file if using sqlite3

              'USER':'root',                       
# Your db user name, Not used with sqlite3

              'PASSWORD':'mysql123',    
#  Your db password, Not used with sqlite3

              'HOST':'',                              
#  Your db host, set to empty string('') for default for localhost,  Not used with sqlite3

              'PORT':'3306',                     
#  Your db port, set to empty string('') for default, Not used with sqlite3

         }

     }

5.  创建Model,即修改app的配置(为这个APP创建表进行配置),找到mysite/blog/models.py,输入如下内容

    from django.db import models

    class BlogInfo(models.Model):

        name = models.CharField(max_length=20)

    注:每一个APP都有一个对应的models.py文件,如果这个文件的内容过大,理论上是可以拆分的,但不建议。 这时候应该考虑去拆APP,所谓“宁拆十个APP,不分一个Model”。

6. 检查是否有错误

    E:\mysite>python   manage.py    check

    0 errors found

    注:django1.7之前命令是python  manage.py  validate

7. 同步数据库

     E:\mysite>python   manage.py    makeimgrations

     E:\mysite>python   manage.py    imgrate    

     注:django1.7之前命令是python  manage.py   syncdb

    

8. 查看MySQL

    E:\mysite>python   manage.py    dbshell

    mysql>  use mydb

    Database changed

    mysql>  sh
98aa
ow tables;

    mysql>  desc  blog_BlogInfo;

     


9. 如果你想看django是如何帮你创建表的,使用命令: python  manage.py  sqlall   blog来显示mysql语法。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django mysql