初识Django二


前言

本文章讲解django框架的模版页面,ORM映射


一.模板

1、模版配置

首先要告诉Django,你准备把接下来的html页面存放在哪里,那么需要打开settings.py文件,找到TEMPLATES选项,修改其中的DIRS属性,在这里添加我们的html文件夹位置。

# project.settings.py
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

一般我们会把存放HTML的文件夹名字命名为template,翻译过来就叫做模版文件

2、创建模版

有了这个文件夹的配置之后,接下来在项目根目录下创建与配置同名的文件夹template/

并在其中书写一个简单的html,并命名为index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>hi</title>
</head>
<body>
<h1>真不错</h1>
<p>
    今天这个天气是<strong>晴天</strong>
</p>
</body>
</html>

3、视图渲染

有了html,目录也配置好了,那么紧接着就是让视图去返回这个文件,那么现在我们要引入一个新的方法叫做render,这个方法专门用来返回一个html页面,并且在未来,我们还会了解到这个方法的更高级用处,就是传递上下文模版变量

修改app下的视图方法,返回这个页面,页面路径不需要绝对路径,使用*template/*下的相对路径即可

二、orm映射

ORM映射概念

ORM映射关系,是django与数据库之间的一个桥梁,可以使开发者不再关注如何去编写SQL语句,直接通过一套ORM所提供的API接口即可方便对各种数据库进行交互

模型类编写

这里使用项目自带的SQLite3数据库即可,默认它已经是配置好的,接下来需要我们进入到app下的models.py文件中,编写一个类,这个类就对应数据库中的一张表

通过ORM映射在models.py文件中创建模型类

#myapp/models.py
from django.db import models
# Create your models here.
class Weather(models.Model):
    weather = models.CharField(max_length=100,verbose_name="天气")
    class Meta: # 定义元类
        verbose_name_plural = "天气"  # 可以控制模型类的属性 在后台管理站点中看到的效果
        # 设置当前表名的一个可读的性更好的名字
    def __str__(self):  # 控制后台管理站点中添加对象的名字
        return self.weather # 将天气2个字返回 效果都是在后台管理中站点看到的

在这里我们使用到了 django 的ORM映射关系用来创建数据库表,继承自models.Model类,
一个类用来表示一张表,类中的一个属性代表一个字段

代码中定义了一个类型为CharField,长度为100的字段,用来存储天气

models.CharField(max_length=100,verbose_name="天气")

下面的class Meta是模型类的元类,用来设置当前表的一些属性,比如联合约束,排序条件等

使用verbose_name_plural属性设置当前表在admin后台查看时的名字

代码中定义一个属于实例的函数**__str__,用来描述当前数据在返回时的默认展示结果**

django在创建模型类对应的数据表时,默认使用应用名加下划线加模型类名作为表的名字,比如当前 Weather 表名为:myapp_weather

当某个子应用APP涉及到了数据库的使用时,要记得在settings文件中进行配置

#myproject/settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
]

生成并执行迁徙文件

python manage.py makemigrations # 创建数据库迁移文件
python manage.py migrate # 根据数据库迁移文件生成对应 SQL 语句并执行

总结

简单介绍了*模版页面**,ORM映射的应用,自学勿喷

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值