django学习--models

来源:互联网 发布:vb乘法表 编辑:程序博客网 时间:2024/06/05 08:34

Models(模型)

通常情况下,一个Model对应数据库的一张数据表
Django中Models以类的形式表现它包含了一些基本字段以及数据的一些行为

编写Models

  1. 在应用根目录下创建models.py文件并导入models模块
  2. 生成数据表
    • cmd命令行中进入manage.py同级目录:
      执行:python manage.py makemigrations app名(可选)
    • 或者右键—>run as—>run configurations—>在Arguments那块输入makemigrations article—>点击run即可
    • 再执行:python manage.py migrate
    • 执行:python manage.py sqlmigrate 应用名 文件id 查看SQL语句
      例如:python manage.py sqlmigrate article 0001
      完成之后的目录结构
      这里写图片描述

创建模型类

打开models.py

# -*- coding: utf-8 -*-from __future__ import unicode_literals# 导入models模块from django.db import models# Create your models here.# 在这里创建你的models代码class Article(models.Model):    # 字段名    title = models.CharField(max_length=32,default='Title')    desc = models.CharField(max_length=50,default='description')    content = models.TextField(max_length=100,null=True)

重新配置views.py

# -*- coding: utf-8 -*-from __future__ import unicode_literalsfrom django.shortcuts import render# 导入HttpRequest模块from django.http import HttpResponse# 导入views模块from . import models # Create your views here.def index(request):    # 这里改用title查询    # 根据 title查询结果返回一条    #article = models.Article.objects.get(title='Hello')    #获得所有的内容,相当于select * from article    article = models.Article.objects.all()    print(article)    # render()第三个参数返回一个字典可以包含一个对象    return HttpResponse(render(request,'article/index.html',{'article':article}))

调用返回的结果

在试图页面使用服务器返回的数据库查询结果
注意:使用{{ }}里面填写代码

<html>    <head>        <title>Article</title>    </head>    <body>        <h1>Hello,Article!</h1><hr>        {% for ar in article %}        <ul>            <li>{{ar.title}}</li>            <li>{{ar.desc}}</li>            <li>{{ar.content}}</li>        </ul>        <hr/>        {% endfor %}    </body></html>

结果

这里写图片描述

总结

来一张图解释django解析请求的流程
这里写图片描述