Django基础入门05

Day05 Django模型

1.     Django对各种数据库提供了很好的支持,为这些数据库提供了统一调用的API,MySQL是Web 应用中最常用的数据库,接下来以MySql为例进行介绍。

2.     安装mysql驱动  参见https://www.cnblogs.com/hwtmhj/p/6746151.html

1) 下载安装成功Mysql

2) 进入目录D:\Python36下打开命令行输入pip3 install pymysql


3) 以管理员身份打开 CMD窗口,输入net start mysql 启动数据库

4) 接下来用代码实现MySQL和Python的连接:

在setting文件中找到数据库的配置代码,Django工程中。

数据库一般默认的SQLite数据库,如下所示:

  DATABASES = {  

    'default': {  

        'ENGINE': 'django.db.backends.sqlite3',  

       'NAME': 'mydatabase',  

   }  

 } 

修改代码如下:

DATABASES = {  

 'default': {  

 'ENGINE': 'django.db.backends.mysql',  

 'NAME': 'newssystem',  ##指定的数据库名

 'USER': 'root',   ##数据库登陆的用户名,mysql一般是root 

'PASSWORD': '',  ##我的密码是空

'HOST': '127.0.0.1',## 由于一般的数据库都是C/S结构的,所以得指定数据库服务器的位置,我们一般数据库服务器和客户端都是在一台主机上面,所以一般默认都填127.0.0.1 /localhost 

'PORT': '3306', 数据库服务器端口,mysql默认为3306 

  }

}

5)HOST和PORT都可以不填,使用默认的配置,但是如果你有更改默认配置的话,就需要填入更改后的。

现在需要在配置文件目录下面D:\Python36\Lib\site-packages\Django-1.11.11-py3.6.egg\django\conf的__init__.py 文件中写入连接的代码即可,如下图所示:

import pymysql

pymysql.install_as_MySQLdb()

db=pymysql.connect("localhost","root","","newssystem")

cursor=db.cursor()

cursor.execute("SELECTVERSION()")

data=cursor.fetchone()

print("Databaseversion : %s" % data)

db.close()

6)完成后回到工程下开启Django服务

表示连接成功

 

3. 定义模型

创建APP

Django规定如果要是使用模型,必须创建一个app

1)


2)修改 TestModel/models.py 文件,代码如下:

# models.py

from django.db importmodels

classTest(models.Model):

name= models.CharField(max_length=20)

以上的类名代表数据库表名,且继承了models.Model

类里边的字段代表数据表中的字段(name)

数据类型则由CharField(Varchar)、DateField(datetime)

max_length  参数限定长度

3)接下来在HelloWorld目录下找到setting.py  找到INSTALLED——APPS

修改代码如下:

INSTALLED_APPS = (

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'TestModel',               # 添加此项

)

5)  在命令行中运行

               python manage.py migrate   # 创建表结构

             python manage.pymakemigrations TestModel  # 让 Django 知道我们在我们的模型有一些变更

 python manage.py migrate TestModel   # 创建表结构

6) 表名组成结构为:应用名_类名(如:TestModel_test)。

7) 打开数据库IDE可发现

注意:尽管我们没有在models给表设置主键,但是Django会自动添加一个id作为主键。

添加数据

1)我们在HelloWorld目录中添加testdb.py文件:

添加数据需要先创建对象,然后再执行save函数,相当于SQL中的INSERT:

# -*-coding:utf-8 -*-

from django.httpimport HttpResponse

from  TsetModel.models import Test

#数据库操作

def testdb(request)

  test1=Test(name=’runoob’)

test1.save()

returnHttpResponse(“<p>数据添加成功!</p>”)

2) 修改urls.py

fromdjango.conf.urls import *

from. import view,testdb

 urlpatterns = [

 url(r'^hello$', view.hello),

 url(r'^testdb$', testdb.testdb),

]

3)访问http://127.0.0.1:8000/testdb

显示


获取数据

更新数据

 

删除数据


猜你喜欢

转载自blog.csdn.net/xs_211314/article/details/79804170