Skr-Eric的Django课堂(三)——Django的模板的继承和模型

2023-11-09 04:51

本文主要是介绍Skr-Eric的Django课堂(三)——Django的模板的继承和模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模板

1.模板的继承

1.语法

1.在父模板中

必须标识出来哪些内容在子模板中允许被修改

标签:

{% block 块名 %}

.... ....

{% endblock %}

block 的作用:

1.在父模板中没有任何影响,正常显示

2.在子模板中,允许被修改,但如果不做任何修改的话,则会按照父模板的内容进行显示

2.在子模板中

1.指定继承自哪个父模板

{% extends '父模板名称' %}

2.通过 block 标签,改写属于自己的内容

{% block 块名 %}

{% endblock %}

 

2.url()的name参数 - 反向解析

1.url的语法

url(regex,views,kwargs,name)

name:为地址起别名,反向解析时使用

2.反向解析

在模板上做反向解析

1.基本解析

{% url '别名' %}

2.带参的解析

{% url '别名' '参数1' '参数2'%}

在视图上做反向解析

1.基本解析

url = reverse('别名')

url 就是通过别名解析出来的地址

2.带参数的解析

url = reverse('别名',args=(参数1,参数2))

 

模型 - Models

1.什么是模型

根据数据表结构而创建出来的class

 

2.ORM

对象关系映射(Object Relational Mapping)

三大特征:

1.表 到 类的映射

2.数据类型的映射

3.关系映射

 

3.创建 和 配置数据库

1.创建数据库-webdb

create database webdb default charset utf8 collate utf8_general_ci;

2.Django的数据库配置

在 settings.py 中配置数据库的信息

DATABASES = {

'default':{

'ENGINE':'django.db.backends.sqlite3',

'NAME':os.path.join(BASE_DIR,db.sqlite3),

}

}

1.ENGINE:指定要连接的数据库的驱动程序

连接mysql的话可以取值为

'django.db.backends.mysql'

2.NAME:指定要连接到的数据库的名称

连接mysql的话可以取值为

数据库名

3.USER:指定登录到数据库管理系统的用户名

连接到mysql的话 可以为 root

4.PASSWORD:指定登录到数据库管理系统的密码

5.HOST:指定要连接到的主机地址

如果是本机的话:127.0.0.1 或 localhost

6.PORT:指定端口号

mysql的默认为 3306

3.数据库的同步操作

1. ./manage.py makemigrations

作用:将每个应用下的models.py文件生成一个数据库的中间文件,并将中间文件保存到migrations的目录中

2. ./manage.py migrate

作用:将每个应用下的migrations目录中的中间文件同步到数据库中

4.编写Models

1.举个例子

2.Models的语法规范

class ClassName(models.Model):

属性=models.FIELDTYPE(FIELD_OPTIONS)

FIELDTYPE : 字段类型

CharField()

FIELD_OPTIONS : 字段选项(字段说明)

max_length=30

字段类型 :FIELDTYPE

1.BooleanField()

编程语言中使用True 或 False 来表示该列的值

数据库中使用 1 或 0 来表示具体的值

数据类型为:tinyint

2.CharField()

编程语言中使用字符串来表示该列的值

数据库中也是字符串

数据类型为:varchar

注意:必须要指定max_length参数值

3.DateField()

编程语言中使用字符串或Date类型的数据表示该值

数据库中使用的是时间字符串

数据类型为:date

4.DateTimeField()

数据类型为:datetime

5.DecimalField()

编程语言中使用数字(小数)来表示该列的值

数据库使用小数表示

数据类型:decimal

money=models.DecimalField(max_digits=7,decimal_places=2)

6.FloatField()

编程语言中使用数字(小数)来表示该列的值

数据库使用小数

数据类型:float

7.IntegerField()

数据类型:int

8.EmailField()

编程语言中使用字符串来表示一段Email地址

数据库中使用 字符串表示

数据类型:varchar

9.URLField()

编程语言中使用字符串来表示一段网址

数据库中使用 字符串表示

数据类型:varchar

10.ImageFiled()

目的:存储图片路径

数据类型:varchar

image=models.ImageField(upload_to='images/')

 

字段选项 :FIELD_OPTIONS

1.default

作用:为当前字段指定默认值

2.null

作用:指定当前字段是否允许为空,默认为False,不能为空

3.db_index

作用:指定是否为当前字段指定索引

4.db_column

作用:指定当前属性映射到表中的类名,如果不指定则采用属性名称作为类名

 

 

 

想要看更多的课程请微信关注SkrEric的编程课堂

这篇关于Skr-Eric的Django课堂(三)——Django的模板的继承和模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/374048

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n