Django入门与实践:四、Models

Models介绍:

ORM(对象关系映射)实现了对象和数据库之间的映射,隐藏了数据访问的细节,不需要编写sql语句。

编写Models:

步骤:

在应用(app)根目录下创建models.py,并引入models模块;

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

在类中创建字段。

字段创建:

字段即类里的属性(变量)

attr = models.CharField(max_length=32)

生成数据表:

myblog/myblog/settings.py中数据库配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'myblog', #选择数据库的名称,请确认你的mysql中有这个库
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': 'localhost', #在通过命令行模式给dj用户授权的时候,指定的主机是localhost,改成127.0.0.1就能正常迁移数据库了。
        'PORT': '3306'
    }

}

注:修改配置后要创建名为myblog的数据库,不然执行“python manage.py makemigrations app名(可选)”命令时会报错。

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

执行python manage.py makemigrations app名(可选)

再执行python manage.py migrate

生成数据表:

Django会自动在app/migrations/目录下生成移植文件;

执行

python  manage.py sqlmigrate 应用名 文件id

查看sql语句。

页面呈现数据:

后台步骤:

myblog/blog/models.py:

from django.db import models

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

myblog/blog/views.py:

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

# Create your views here.
def index(request):
    #return HttpResponse("Hello world!")
    #return render(request, 'index.html', {'hello': 'hello, blog!'})
    article = models.Article.objects.get(pk=1)
    return render(request, "index.html", {"article": article})

前台步骤:

myblog/templates/blog/index.html:

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值