day77Django中orm数据库相关操作

0 django目录

  -settings

  -urls

  -views

  ******强调:setting中'django.middleware.csrf.CsrfViewMiddleware'中间件先注释掉(因为form表单post提交数据时会被拦截报错!!

  -执行django项目:python3 manage.py runserver 127.0.0.1:8000

1 登陆注册

  -form action中:

  -三种写法:

    一:不写

    二:http://127.0.0.1/login/

    三:/login/(推荐用这种)

 

2 Django三件套

  render:返回一个模板(页面)       render(request,‘xxx.html’)

  redirect:重定向到某个地址          redirect('路由或127.0.0.1/login/')

  HttpResponse:返回字符串          HttpResponse('xxxxx')

****重点:本质上返回的都是HttpResponse对象

3 orm简介

  -orm能创建表,创建字段,删除字段,修改字段,但是不能创建数据库

    细节:一个新的Django项目,不要用原来的数据库。

  -是什么?对象关系映射

  -python代码《---对象--》orm层转换《-----sql---》mysql/oracle。。。

 

  -要创建一个表,有了orm,只需要写一个类就可以了

 

orm连接mysql步骤:

  0 手动创建出数据库:0107
    方法:1.终端命令行创建库;2.Navicat软件创建库。   1 在settings中配置:     'default': {       # 这些key必须都是大写       'ENGINE': 'django.db.backends.mysql',       # 数据库名字       'NAME': '0107',       'HOST':'127.0.0.1',       'PORT':3306,       'USER':'root',       # 'PASSWORD':''       }   2 再app的init文件中写:   import pymysql   pymysql.install_as_MySQLdb()   3 在models中创建类,类中写字段;   class UserInfo(models.Model):     id=models.AutoField(primary_key=True)     name=models.CharField(max_length=32)     pwd=models.CharField(max_length=32)   4 把表同步到数据库,在终端命令窗口或pycharm的Terminal窗口下进行,效果一样;   #这步数据库表并没有同步到数据库,只是在migrations内做了一个记录   -python3 manage.py makemigrations   #这步才将数据表同步到数据库   -python3 mangae.py migrate

 

orm连接sqllite数据库步骤:

  从第三步开始,往后走

 

pyhcarm中database连接mysql数据库步骤: database相当于Navicat一样是个管理数据库的可视化工具
database连接mysql后用来干什么?---》像Navicat一样进行管理数据库:表的增删改查,记录的增删改查。不同点:不能创建库
1手动创建库;
2右边框database;
  加号--datasource选mysql--安装提示插件后,填写库名、user、password---即可看到库了

 

 

 

  同步到数据库后,创建出来的表介绍:

  1 orm自动将app的名字拼在表前_类名

  2 orm会自动创建出好多其他表(不要管,不要删)

 

4 基于orm的用户登陆功能练习

  orm查询:

    -1查询所有:

    类名.objects.all()

    -2有过滤条件的查询

    类名.objects.filter(name='lqz',pwd='123').first()

      相当于sql语句 select * from biao where name=lqz and pwd=1234

 

作业:

1 用orm连接mysql,写登陆功能

2 有能力的同学,写注册

posted @ 2019-01-08 20:12  timm_book  阅读(50)  评论(0)    收藏  举报