• Django的学习(三)————models


    models采用的的是类的方式,一个类对应一张表,在django中只需要对类的操作就可以完成数据表的操作,这种方式可以省去写sql语句,完成了sql语句的封装,被叫做

    ORM(object relation mapping)对象关系映射。

    一、字段创建的规则:

    字段名等于model类中的属性(变量)。

    1 from django.db import models
    2 
    3 # Create your models here.
    4 
    5 
    6 class Article(models.Model):
    7     # max_length is must param to limit the length
    8     title = models.CharField(max_length=32, default='Title')
    9     content = models.TextField(null=True)

    二、生成数据表:

    执行两个命令:

    第一个:python manage.py makemigrations 【App】,默认执行所有的App

    第二个:python manage.py migrate

    这些是所有的数据migrate(迁移)

    三、查看:

    首先在文件目录下可以查看到多了一个文件夹migrations的移植文件夹,查看里面的内容可以看到,我们创建的字段,由于数据库是需要主键的所以我们在创建的时候不设置主键,系统会自动给我们生成一个主键。

    再通过命令行:python manage.py sqlmigrate 【App】 【filename】

    可视化工具的安装:https://blog.csdn.net/geekqian/article/details/78229222

    四、页面数据呈现:

    1.后台步骤

    views.py中import models

    article = models.Article.objects.get(pk=1)

    render(request, page, {'key': 'item'})

    其中pk就相当于sql语句中id为1的数据

    render第三个参数可以传递对象给网页

     1 from django.shortcuts import render
     2 from django.http import HttpResponse
     3 
     4 # Create your views here.
     5 
     6 from . import models
     7 
     8 
     9 def index(request):
    10     article = models.Article.objects.get(pk=1)
    11     return render(request, 'blog/index.html', {"article": article})

    2.前端操作

    使用对象的操作运算符“.”,来完成前端的代码。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 <h1>{{ article.title }}</h1>
     9 <h3>{{ article.content }}</h3>>
    10 </body>
    11 </html>

    五、注意:

    对models操作完成后一定要migrate。

  • 相关阅读:
    redisLock redis分布式锁
    Mabitis中的#与$符号区别及用法介绍
    pring Scheduler定时器原理分析
    SpringBoot几种定时任务
    线程池的理解
    JVM的方法区和永久带是什么关系
    JVM老年代和新生代的比例
    IO 与 NIO
    对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解
    TCP滑动窗口控制流量的原理
  • 原文地址:https://www.cnblogs.com/future-dream/p/10380938.html
Copyright © 2020-2023  润新知