Django框架orm

一、django目录

二、登录注册

三、三件套

四、orm简介

五、基于orm的用户登录

 

一、django目录

  -settings

  -urls

  -views

  -强调:setting中的'django.middleware.csrf.CsrfViewMiddleware'中间件先注释掉

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

二、登录注册

  -form action中:

    三种写法:

      1.不写

      2.http://127.0.0.1/login

      3./login/(推荐写这种)

三、三件套

  render:返回一个模板(页面)

  readirect:重定向到某个地址

  HttpResponse:返回字符串

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

四、orm简介

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

  -一个新的项目,不要用原来的数据库

  -是什么?对象关系映射

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

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

 

  orm链接mysql步骤:

    0.手动创建出数据库

    1.在setting中配置

      '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.把表同步到数据库

      #数据库表并没有同步到数据库,只是再migrations内做了一个记录

      -python3 manage.py makemigrations

      #才将数据表同步到数据库

      -python manage.py migrate

  orm链接sqllite

    从第三步开始,往后走

  创建出来的标介绍:

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

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

五、基于orm的用户登录

  orm查询:

    -查询所有:

        类名objects.all()

    -有过滤条件的查询:

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

        select*from biao where name = lqz and pwd =123

转载于:https://www.cnblogs.com/wuzhengzheng/p/10273647.html

Django框架ORM(Object-Relational Mapping)是一种将对象模型与关系数据库模型进行映射的技术。其目的是让开发者使用面向对象的方式来操作数据库,而不必直接使用SQL语句。 Django的ORM实现了以下功能: 1. 定义模型:使用Django定义模型的方式非常简单,只需要创建一个继承自`django.db.models.Model`的类,并定义它的属性即可。 2. 数据库迁移:当你修改了模型之后,Django会自动帮你生成数据库迁移文件,这些文件可以在数据库中创建或修改表结构。 3. 数据库查询:使用Django ORM可以进行复杂的数据库查询,包括过滤、排序、分组等操作。 4. 数据库操作:Django ORM提供了对数据库的增删改查操作,可以方便地完成对数据的操作。 下面是一个使用Django ORM的例子: ```python from django.db import models class Author(models.Model): name = models.CharField(max_length=50) email = models.EmailField() class Book(models.Model): title = models.CharField(max_length=100) author = models.ForeignKey(Author, on_delete=models.CASCADE) published_date = models.DateField() ``` 在上面的例子中,我们定义了两个模型:`Author`和`Book`。`Author`模型有`name`和`email`两个属性,`Book`模型有`title`、`author`和`published_date`三个属性。其中,`author`属性是一个外键,它与`Author`模型建立了关联关系。 通过Django ORM,我们可以进行如下操作: 1. 创建模型表结构 ```python python manage.py makemigrations python manage.py migrate ``` 2. 添加数据 ```python author1 = Author(name='John', email='john@example.com') author1.save() book1 = Book(title='Django for Beginners', author=author1, published_date='2020-01-01') book1.save() ``` 3. 查询数据 ```python # 获取所有的作者 authors = Author.objects.all() # 获取所有的书籍 books = Book.objects.all() # 获取指定作者的所有书籍 author = Author.objects.get(name='John') books = Book.objects.filter(author=author) # 按照发布日期倒序排序 books = Book.objects.order_by('-published_date') ``` 4. 修改数据 ```python book = Book.objects.get(title='Django for Beginners') book.title = 'Django for Experts' book.save() ``` 5. 删除数据 ```python book = Book.objects.get(title='Django for Experts') book.delete() author = Author.objects.get(name='John') author.delete() ``` 总之,Django ORM可以让我们更加方便地操作数据库,提高开发效率。同时,它也具有良好的可扩展性和可维护性,可以应对各种复杂的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值