前言
本文章讲解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映射的应用,自学勿喷