1) Django 中Models是与数据库相关的,与数据库相关的代码一般写在 models.py中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用。

2) Model介绍:

通常一个model对应数据库中的一张数据表

Django中的Models以类的形式表示

它包含了一些基本字段和数据的一些行为

Django中以创建类的形式来创建数据表

编写代码对数据库的操作只需要对类和类的对象的操作,不需要SQL语句(ORM)

3) ORM

对象关系映射(Object Relation Mapping)

实现对象和数据库的映射

隐藏数据访问的细节,不需要编写SQL语句

Django将和数据库交互的语句封装起来了,实现了ORM框架,给开发带来便利

4) 创建Models

新建类,继承自models.Model,该类即是一张数据表

创建字段:字段即类的属性(变量) 如:attr=models.CharField(max_length=30)

打开blog/models.py文件,修改其中的代码如下:

from django.db import models

# Create your models here.
class Article(models.Model):
    title = models.CharField(max_length=32,default='my title')
    content = models.TextField(null=True)

5) 生成数据表

命令行进入manage.py同级目录

执行  python manage.py makemigrations app名(可选,若不加app名,则对该项目下所有app生成移植文件)

再执行 python manage.py migrate

Django就会自动在app/migrations/下生成移植文件,可打开0001_initial.py查看

执行 python manage.py sqlmigrate 应用名 文件名  (此处应用名是app,文件名是0001)可查看SQL语句(Djngo会自动生成主键id int型 不为空 自增的)

默认sqlite3的数据库在项目根目录下db.sqlite3

6)查看并编辑db.sqlite3

使用SQLite Expert Personal打开db.sqlite3文件,点击blog_article数据表(blog前缀是默认加上的)点击+号添加数据后点击√保存即可

7)页面呈现数据

后台步骤:

views.py中import models

article = models.Article.objects.get(pk=1)  Article是自己设定的类 pk主键为1 article是模型的实例

render(request, htmlURL, { 'article' : article })传递给前端

views.py如下:

from django.shortcuts import render
from . import models

# Create your views here.

def index(request):
    article = models.Article.objects.get(pk=1)  # article是定义的一个模型的实例,Article是自己设定的类,pk主键为1(指插入的那条记录)
    return render(request,'blog/index.html',{'article':article})

前端步骤:

使用对象的“ . ”操作

index.html如下:

<!DOCTYPE html>
<html>
<head>
    <title>第一个Template</title>
</head>
<body>
<h1>{{article.title}}</h1>
<h2>{{article.content}}</h2>
</body>
</html> 

最后启动查看效果

最新文章

  1. jquery自定义对话框alert、confirm和prompt
  2. poj1741 树上的点分治
  3. 反射工具类——ReflectUtils
  4. 通过使用ScriptManager.RegisterStartupScript,呈现后台多次使用alert方法
  5. centos nginx环境下删除CI框架Index.php入口遇到404问题
  6. Oracle VM Virtual Box 4.3 小巧精悍的虚拟机软件
  7. model、dao、 service 和Comtroll层的关系
  8. C语言 大小端 字节对齐
  9. 开源的Delphi性能调试工具
  10. hdu 1075 What Are You Talking About(字典树)
  11. hdu 5077 NAND(暴力打表)
  12. appserv+win8
  13. Git远程管理[五]
  14. Apache DbUtils 探秘
  15. 山寨版 WP8.1 Cortana 启动 PC
  16. 实验三:xen环境下的第一个虚拟机的安装
  17. nginx多站路由配置tomcat
  18. pycurl post
  19. C# 判断字符串为空有哪几种方法
  20. html , body , margin , overflow 之大乱战

热门文章

  1. 12款Linux系统恢复工具
  2. 从SonarQube谈设计模式
  3. [rctf](web)rcdn 解题分析,知识点总结
  4. MySQL数据库安全策略
  5. 第二天0605下午——超链接&lt;a&gt;与图片&lt;img&gt;
  6. BUGKUctf-web-writeup
  7. Eclipse中如何显示代码行
  8. 关于sqlmap的一些命令
  9. php的数据访问和封装运用
  10. 反射+自定义注解---实现Excel数据列属性和JavaBean属性的自动映射