简单总结一下迟老师今天下午上课时讲的ORM操作

目录:

一、首先配置django连接mysql数据库

                                            二、在自己创建的app中添加一个model

                                            三、利用django生成表

                                            四、利用model进行增删改查的操作

                                            五、作业

一、首先配置django连接mysql数据库

                                  

在项目(projet)的setting中进行设置。比如我的项目叫做myApp,打开

myApp/myApp/setting.py

找到下面这段代码,进行配置:

代码在这:

# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',#数据库引擎
'NAME': 'aisystem',#已经建好的数据库名
'USER':'root',#连接mysql的用户名
'PASSWORD':'',#连接密码
'HOST':'127.0.0.1',#设置localhost,如果不是远程的数据库都是这个
'PORT':#在安装mysql的时候设置的端口,没有修改的默认都是3306
}
}

mysql配置

二、在自己创建的app中添加一个model

比如我添加的app叫做 userManage,所以在这里添加一个model:

打开 myApp/myApp/userManage/models.py,添加一个model:

代码在这里:

class TUser(models.Model):
#主键
userId = models.AutoField(primary_key=True,unique=True)#自增 唯一
#用户名
username=models.CharField(max_length=)
#密码
password=models.CharField(max_length=)

TUser

三、利用django生成表

首先执行:

python manage.py makemigrations

可以看到创建TUser成功:

这时候项目目录中应该生成一个叫做migrations的文件夹

然后写入数据库,执行命令:

python manage.py migrate

出现很多ok,我的由于不是第一次写入数据库,所有只有几个

在数据库中可以看到一个叫做tuser的表

四、利用model进行增删改查的操作

首先在数据库中增加两条数据备用:

 4.1 实现登陆验证

我们修改login中的代码,实现登陆验证,如果用户名、密码匹配则跳转到首页。否则重新登陆

                      

然后我们开启服务器:

python manage.py runserver

打开登陆页:127.0.0.1:8080/user/login。登陆一下

当输入正确的用户名、密码是,跳转到127.0.0.1/user/index,显示欢迎

当输入错误的用户名或密码,提示错误

4.2操作数据库

                  为了说明model的用法,我们不考虑逻辑。直接在userManage中增加一个/test,说明一下model的其他常用函数。

首先在userManage/urls中增加一个映射:

path('test/',views.test)

然后再userMange/views中增加一个test方法,直接返回一个渲染的模板。

再在userManage/templates中新建一个名为test.html的文件。

     

接下来我们慢慢修改这些内容

4.2.1查询数据库中全部内容

                        修改 userManage/videws.py的test方法:

通过  objects.all方法读取一个表中的全部内容,通过render把参数传递给test.html

然后修改test.html,显示users的内容。

打开test查看一下效果

              4.2.2增加一条记录

                 修改test方法 

                 

                       自己打开test查看结果吧。然后到数据库中可以看到确实增加了一条记录。

4.2.3删除一条记录

                       

                       访问test将会删除admin用户

4.2.4修改一条记录

                       

                              可以到数据库或者登陆页面验证小明的密码被修改为2了

这样增删改查的内容就全部介绍完了。当然这只是一种实现方式。还有其它的实现方法,包括但不限于执行sql语句。留给大家自己探索了。

五、作业

               给大家重复一下作业:

时间:4月15日-5月5日。

作业内容:实现一个web端文章的管理系统,可以对文章进行增、删、改、查、保存。

检查方式:5月5日课上检查完成情况。

完不成会怎样:我也不知道。但是相信大家经过两天的学习,应该没问题的。实在写不完又被检查到了的话,表演个小节目吧。所以要么抽空写一下作业,要么抽空练练技能。

django ORM入门的更多相关文章

  1. Django ORM模型

    Object Relational Mapping(ORM) 一,ORM介绍 1, ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象 ...

  2. day 67 django orm的基础

    django项目 安装: 创建项目 配置(setting,static,csrf) 创建app,python manage.py startapp app1 三部分 urls.py路由配置 1,普通正 ...

  3. Django ORM介绍 和字段及字段参数

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  4. Django ORM字段和字段参数

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  5. Django orm常用字段和字段参数

    1.Object Relational Mapping(ORM) 1.1ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象 ...

  6. django orm介绍以及字段和参数

    Object Relational Mapping (ORM) orm介绍 orm概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数 ...

  7. django ORM教程(转载)

    Django中ORM介绍和字段及字段参数   Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...

  8. django orm总结[转载]

    django orm总结[转载] 转载地址: http://www.cnblogs.com/linjiqin/archive/2014/07/01/3817954.html 目录1.1.1 生成查询1 ...

  9. Django ORM - 001 - 外键表查询主表信息

    开始用Django做web开发,我想大家都会遇到同样的问题,那就是如何高效快速的查询需要的数据,MVC都很简单,但是ORM折腾起来就有些费时间,我准备好好研究下Django ORM,所以会有一个系列的 ...

随机推荐

  1. rsync配置及优化

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  2. 基本的RAID介绍

    RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAID全称为独立磁盘冗余阵列 ...

  3. linux下网络配置小节[from 老男孩的linux运维笔记]

    对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太多的初学者徘徊在门外就不奇怪了, 这里,老男孩老师花了一些时间总结了这个文档小结,也还不够完善,欢迎大家补充,交流. ...

  4. C语言open()函数:打开文件函数(转)

    相关函数:read, write, fcntl, close, link, stat, umask, unlink, fopen 头文件:#include <sys/types.h>   ...

  5. Elasticsearch与RDS比较

    Elasticsearch是一个分布式,实时,全文搜索引擎.所有操作都是通过RESTful接口实现,其底层实现是基于Lucene全文搜索引擎.数据以JSON文档的格式存储索引,不需要预先规定范式. 和 ...

  6. Android App优化之ANR详解

    引言 背景:Android App优化, 要怎么做? Android App优化之性能分析工具 Android App优化之提升你的App启动速度之理论基础 Android App优化之提升你的App ...

  7. 从sys/power/state分析并实现S3C2416的睡眠和唤醒

    环境: PC: debian-7.6.0 ARM CPU: S3C2416 Linux-Kernel: 3.6.0(FriendlyARM) U-boot: 1.3.4 一.问题来源 依据须要,在S3 ...

  8. C# 可选参数 命名参数

    1.可选参数 可选参数是.NET4中新添加的功能,应用可选参数的方法在被调用的时可以选择性的添加需要的参数,而不需要的参数由参数默认值取代. class Program { /// <summa ...

  9. 【转载并整理】Linux - centOS 6 SVN服务器安装、配置及开机启动

    以前在windows上安装svn服务器,用的是VisualSVN-Server用起来还不错,但只能用在windows,在linux上部署使用是 subversion,具体说明如下 参考原文:http: ...

  10. hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解

    hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解 一,环境: 1,主机规划: 集群中包括3个节点:hadoop01为Master,其余为Salve,节点之间局域网连接 ...