Django学习案例一(blog):四.Models

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习案例一(blog):四.Models相关的知识,希望对你有一定的参考价值。

(1)什么是models

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

在编写代码的过程中,所有对数据库的操作,都是对类和类的对象进行操作。

 ORM对象关系映射(Object relation mapping)实现了对象和数据库之间的映射,隐藏了数据访问的细节,不需要编写SQL语句,为开发提供了便利。

(2)blog/models内容修改:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=50,default=Title) #标题
    content = models.TextField(null=True)  #内容

(3)生成数据库数据表,执行两条语句

迁移准备:Python manage.py makemigrations blog #app名blog是可选的,如果不写则对项目中所有app进行数据迁移。

执行迁移:Python manage.py migrate

数据库就生成在项目根目录下,名为db.sqlite3,用sqlite expert personal可以看到数据库中已经建立了数据表,并且可以手工增加数据进表中:

技术分享

这里使用了django默认的sqlite3数据库,如果用其他数据库则需要修改配置文件,如使用mysql,并且建立了djangodb数据库,在setting.py中修改:

DATABASES = {
    default: {
        ENGINE: django.db.backends.mysql,
        NAME: djangodb,
        USER:root,
        PASSWORD:123456,
        HOST:localhost,   #ip
        PORT:3306,
    }
}

(4)页面呈现数据

后台步骤:

views.py中import models;

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

render(request,page,{‘article’:article})

blog.views.py内容修改:

from django.shortcuts import render
#from django.http import HttpResponse
from . import models

def index(request):
    article = models.Article.objects.get(pk=1)
    return render(request, blog/index.html, {article: article})  #三个参数,1.请求对象本身,2.模板文件 3,后台传到前端的数据

前端步骤:

    模板可直接使用对象以及对象的” . ” 操作  :  {{ article.title }}

Blog/index.html中内容修改:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>{{ article.title }}</h1>
<h2>{{ article.content }}</h2>
</body>
</html>

前台展示如下:

技术分享

 

以上是关于Django学习案例一(blog):四.Models的主要内容,如果未能解决你的问题,请参考以下文章

Django学习案例一(blog):一.创建项目APP

Django学习案例一(blog):三.模板Templates

django面试四

Django--系列学习

Django基础学习笔记:初识MTV模式

[Django学习] Django基础_阅读计数