真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Django連接數(shù)據(jù)mysql

【背景】

我們提供的服務(wù)有:網(wǎng)站制作、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鹽津ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鹽津網(wǎng)站制作公司

系統(tǒng)centos6.x

python 版本 3.4.3

django 1.9.x

默認(rèn)django使用的數(shù)據(jù)庫是sqlite3, 而我們常用的是MySQL

我們需要連接mysql此時是需要django連接mysql的驅(qū)動,默認(rèn)是MySQLdb,但是這個是很難下載安裝的,在centos環(huán)境是pip是無法安裝

所以需要使用pymysql 進(jìn)行取代(安裝來自包PyMySQL)

Django連接數(shù)據(jù)mysql

Django連接數(shù)據(jù)mysql

【開始進(jìn)行代替默認(rèn)的MySQLdb工具的步驟】

1 在項目下的app目錄下 加入使用pymsql作為MySQLdb

[root@master firstproject]# cat blog/__init__.py 

#!/usr/bin/env python
import pymysql
pymysql.install_as_MySQLdb()

2 修改manage.py加入使用pymysql 

[root@master firstproject]# cat manage.py         

#!/usr/bin/env python

import os

import sys

try:
    import pymysql
    pymysql.install_as_MySQLdb()
except Exception:
    pass

if __name__ == "__main__":

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "firstproject.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

【連接數(shù)據(jù)庫的配置】

你要使用數(shù)據(jù),你必須在配置文件中指明數(shù)據(jù)的的一些信息吧 

rm -f db.sqlite3   這個可以刪除,我們不使用sqlite文本數(shù)據(jù)庫

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

修改為:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'blog',
        'USER': 'root',
        'PASSWORD': '12qwaszx',
        'HOST': 'localhost',
        'PORT':'',
    }
}

包含,mysql的主機(jī)端口,用戶和庫(blog)

在你的mysql中創(chuàng)建blog這個庫

mysql -uroot -p12qwaszx  -e 'create database blog character set utf8'
 mysql -uroot -p12qwaszx  -e "show databases like '%blog%'"
+-------------------+
| Database (%blog%) |
+-------------------+
| blog              |
+-------------------+
[root@master ~]#

【django建立數(shù)據(jù)庫模型(表)和操作數(shù)據(jù)庫】


[root@master firstproject]# vim blog/models.py 

from django.db import models
# Create your models here.
class People(models.Model):
    name = models.CharField(max_length=32)
    class Meta:
        db_table = 'self_people'


注意: 定義了People類繼承數(shù)據(jù)庫的模型,定義了這個類模型(表)有一個字段name字段,且自定義了表名為self_people!

    class Meta:
        db_table = 'self_people'

寫這個的目的是,自定義表名,而不是有django按照的方式生成表名! 

【同步表信息】

python manage.py makemigrations
python manage.py migrate

Django連接數(shù)據(jù)mysql

查看從數(shù)據(jù)庫中查看表的信息:(我使用的是navicat GUI管理mysql的工具查看)

Django連接數(shù)據(jù)mysql

【操作數(shù)據(jù)庫】--我們這里使用django 提供的交互式形式去調(diào)用djangol提供的api接口

python manage.py shell

第一:導(dǎo)入People類

from blog.models import People

第二: 查看這個表中開始的條目

 People.objects.count()

第三: 創(chuàng)建條目:

People.objects.create(name="liudehua")  
People.objects.create(name="zhangxueyou")

Django連接數(shù)據(jù)mysql

第四:查看表中所有的數(shù)據(jù)

In [16]: p = People.objects.all()
In [17]: p.values_list()         
Out[17]: [(1, 'liudehua'), (2, 'zhangxueyou')]


網(wǎng)頁名稱:Django連接數(shù)據(jù)mysql
分享路徑:http://weahome.cn/article/pjspjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部