Django版本:1.11
操作系统:Windows
python:3.5
欢迎加入学习交流QQ群:657341423
模型的使用:
Django的模型就是说数据库的使用,通常最笨最基础的用法都是用语法链接数据库,进行sql语句操作,然后关闭数据库。但是现在的web框架都是通过对象实例化进行数据库访问的。也就是说,讲数据库看成一个对象,然后直接对这个对象进行操作就可以了。这样可以减少不断重复链接,关闭数据库等重复操作。
如果你使用了Django的数据库层(模型),你必须创建一个Django app。 模型必须存放在apps中
1、新建app,如下所示:
2、在项目中设置setting.py文件。这里以sqlite3为例。如果要设置其他数据库,可自行网上找资料。
完整的参数:
1
2
3
4
5
6
7
8
9
10
11
12 1DATABASES = {
2 'default': {
3 'ENGINE': 'django.db.backends.mysql',
4 'NAME': 'csvt',
5 'USER':'root',
6 'PASSWORD':'123456',
7 'HOST':'',
8 'PORT':'',
9 }
10}
11
12
要注意的是无论选择使用哪个数据库服务器,都必须下载和安装对应的数据库适配器
然后找到 INSTALLED_APPS 设置。 INSTALLED_APPS 告诉 Django 项目哪些 app 处于激活状态
3、打开由polls 命令创建的models.py 并输入下面的内容
每个class继承django.db.models.Model。图上的类Publisher就是代表一个数据库表。
说明:models.CharField、models.URLField、models.EmailField、models.DateField、models.ForeignKey、models.ManyToManyField
每个模型相当于单个数据库表,每个属性也是这个表中的一个字段。 属性名就是字段名,它的类型(例如 CharField )相当于数据库的字段类型 (例如 varchar )
str 用于进行任何处理来返回对一个对象的字符串表示
1
2
3
4 1 def __str__(self):
2 return (self.name)
3
4
4、创建数据库表
一、验证模型的有效性
在项目的路径下,输入python manage.py check
二、模型确认没问题了,运行下面的命令来生成 CREATE TABLE 语句:
1
2
3
4 1python manage.py makemigrations polls
2以上只是在项目生成相关py文件,还没有提交到数据库
3
4
三、提交SQL语句至数据库的方法:python manage.py migrate
打开数据库验证:
完成数据模型搭建,接下来就是实际使用:
我们找到views.py文件,代码如下:
为何getname的值为name,这个和models.py有关,因为models.py的def __str__返回的是name。如果需要返回其他值,可以自行修改。
运行前数据库内容:
浏览器运行http://127.0.0.1:8000/,即hello的url
运行结果:
新增修改成功。
项目代码可下载