zoukankan      html  css  js  c++  java
  • django ORM入门

    简单总结一下迟老师今天下午上课时讲的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':'1234',#连接密码
            'HOST':'127.0.0.1',#设置localhost,如果不是远程的数据库都是这个
            'PORT':3306#在安装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=50)
        #密码
        password=models.CharField(max_length=50)
    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日课上检查完成情况。

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

  • 相关阅读:
    绝对路径和相对路径
    基本的文件操作
    Python2和3字符编码区别
    java开发两年了,连个java代理模式都摸不透,你怎么跳槽涨薪?
    【建议收藏】阿里P7总结的Spring注解笔记,把组件注册讲的明明白白
    面试官:你说你精通SpringBoot,你给我说一下类的自动装配吧
    面试BAT问的最多的27道MyBatis 面试题(含答案和思维导图总结)
    Springboot 框架整理,建议做开发的都看看,整理的比较详细!
    直面秋招!非科班生背水一战,最终拿下阿里等大厂offer!
    写的太细了!Spring MVC拦截器的应用,建议收藏再看!
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/8850019.html
Copyright © 2011-2022 走看看