一:Django模型数据类型
Django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表
以下是我在模型中写的数据:
class Cart(models.Model): sort = models.CharField(max_length=20, null=False) name = models.CharField(max_length=20, null=False) price = models.FloatField(max_length=20) unit = models.CharField(max_length=20) count = models.IntegerField(null=False) money = models.FloatField(default=0, null=False) tot_money = models.FloatField(default=0, null=False) def __str__(self): return self.name def publish(self): self.save()
这里用到许多数据类型,以下为常见类型总结:
models.CharField 字符串字段(必须参数 max_length)
models.BooleanField 布尔类型,不能为空,Blank=True
models.DateField 日期类型date,对于参数:auto_now = True每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变
models.DateTimeField 日期类型 datetime同DateField的参数
models.Decimal 十进制小数类型decimal,必须指定整数位max_digits和小数位decimal_places
models.EmailField 字符串类型(正则表达式邮箱),对字符串进行正则表达式
models.FloatField 浮点类型
models.IntegerField 整形
models.BigIntegerField 长整形
models.TextField 字符串=longtext
models.TimeField 时间 HH:MM[:ss[.uuuuuu]]
models.URLField 字符串,地址正则表达式
models.BinaryField 二进制
models.ImageField 图片
models.FilePathField 文件
括号里需要参数,所以以下是对参数的一些总结:
null=True (数据库中字段是否可以为空)
blank=True (django的 Admin 中添加数据时是否可允许空值)
primary_key = False(主键,对AutoField设置主键后,就会代替原来的自增id列)
auto_now 和 auto_now_add(auto_now 自动创建--无论添加或修改,都是当前操作的时间;auto_now_add 自动创建--永远是创建时的时间)
max_length (最大长度)
default (默认值)
verbose_name (Admin中字段的显示名称)
name|db_column (数据库中的字段名称)
unique=True (不允许重复)
db_index = True (数据库索引)
editable=True (在Admin里是否可编辑)
error_messages=None (错误提示)
auto_created=False (自动创建)
help_text (在Admin中提示帮助信息)
upload-to (上传到哪个位置,更多与image,filepath配合使用)
二:标签详解(1)标签的形式:{% tag %}
(2)标签的作用:
①在输出时创建一些文本
②通过执行循环和一些逻辑来实现控制流
③装载一些外部信息进入模板
(3)一些常用的内建标签:
①block 定义一个块,该块能够被继承他的子孙模板重写
{% block %} //(定义块内容) {% endblock %}
②comment 模板系统会忽略该标签内部的所有内容
{% comment %} //(内容) {% endcomment %}
③cycle 在循环时轮流使用给定的字符串列表中的值
<tr class="{% cycle list%}"> ... </tr>
④for 循环list中的每个值,进行相应的输出
{% for variable in list/dict %} //(使用variable) {% endfor%}
⑤if variable中可以使用and,or,not,但不允许and和or一起使用
{% if variable %} //(内容1) {% elif %} //(内容2) {% endif %}
⑥ifequal 判断两个变量是否相等
{% ifequal variable1 variable2 %} ... {% endifequal %}
相关推荐
- **模板过滤器和标签**: 过滤器用于修改变量值,标签用于执行逻辑操作。 ### 6. 表单(Form) - **定义表单**: Django提供内置的表单处理机制,可以自定义表单类,映射到模型或独立字段。 - **数据验证**: 表单...
1. **模型(Model)**:在Django中,模型是数据库的抽象层,用于定义数据结构和字段类型。在商品管理系统中,商品模型可能会包含如商品名称、描述、价格、库存量等属性。通过定义模型,我们可以轻松地与数据库进行...
- **实现方式**: 使用Django提供的模板语言和标签来动态生成HTML内容,实现数据展示逻辑与业务逻辑的分离。 - **示例**: 创建一个模板文件`index.html`,并在其中使用模板标签如`{{ variable }}`来显示变量的值。 ...
2. 管理后台:Django admin自动生成管理界面,便于管理模型数据。 3. RESTful API:使用Django Rest Framework构建API服务。 通过阅读《django+book.pdf》,你可以全面了解Django框架,从基础到实践,逐步掌握Web...
4. **灵活性**:Django允许开发者根据项目需求进行定制化开发,包括自定义模型字段、模板标签等。 #### 二、Django框架的核心组件 **1. 模型层(Model Layer)** 模型层是Django中负责数据操作的部分,用于定义应用...
- **知识点概述**:本章详细阐述了Django模型的概念及其在数据存储方面的应用。 - **内容详述**: - Django模型的基本定义及字段类型; - 数据库表结构与模型类之间的映射关系; - 模型之间的关联关系(如一对...
Django 1.2 支持多种模板语言特性,如继承、过滤器和标签,使得开发者能够轻松地控制页面布局。 4. **URL 分发(URLconfs)**:Django 的 URL 路由系统允许通过简单的正则表达式将 URL 映射到视图函数,实现灵活的 ...
模板可以包含控制结构(如if/else、for)、过滤器(对变量进行转换)和标签(执行特定功能),实现页面内容与逻辑的分离。 六、URL路由 Django的URL路由系统允许我们将URL模式映射到视图函数。通过在`urls.py`文件...
- **模板语法**: Django 模板引擎支持丰富的语法,包括变量、标签、过滤器等。 - **继承与扩展**: Django 模板支持继承机制,可以方便地复用公共部分。 **1.6 表单** - **自动生成表单**: 可以根据模型自动创建...
- **模板标签和过滤器**:自定义模板标签和过滤器可以扩展模板功能。 ##### 4. 表单处理 - **表单类定义**:使用表单类定义数据验证规则。 - **表单处理流程**:从用户输入获取数据,验证数据有效性,保存数据到...
Model负责数据模型,Template处理视图展示,View则处理用户请求并调用相应的模板和模型。 **2. 数据库模型(Model)** 在“Django学校管理系统”中,模型可能是学生、教师、课程等实体的抽象。Django的ORM(对象...
这包括但不限于变量、数据类型(如整型、浮点型、字符串、列表、元组、字典)、控制流(条件语句、循环语句)、函数和模块的使用。这些基本概念为理解和编写Django应用提供了基础。 2. **Django开发 (day15, day16,...
- **模型层**:讲解了 Django 的数据模型设计方法,包括字段类型、数据库操作等。 - **视图层**:介绍了如何编写视图函数来处理 HTTP 请求,并返回响应。 - **模板层**:详细说明了 Django 模板系统的用法,包括...
- 包括地理数据类型、地理空间查询等功能。 **13. 常见 Web 应用工具** - Django 内置了多个实用工具,如静态文件管理、中间件支持等。 - 这些工具可以帮助开发者高效地开发和维护 Web 应用。 **14. 其他核心功能...
每个表单对应一个模型,可以定义字段类型、必填项和验证规则。在视图中处理表单数据,确保输入的有效性。 ### 6. URL 路由 Django 的 URL 路由系统允许灵活地定义 URL 结构。每个 URL 对应一个视图函数,处理特定的...
三、Django模型 在“models.py”中,开发者会定义数据库表的结构,如字段类型、验证规则等。Django提供了ORM(对象关系映射)功能,使开发者可以使用Python代码操作数据库,无需直接编写SQL语句。 四、Django视图 ...
通过模板标签和过滤器,可以方便地将后端数据渲染到前端页面。 6. **用户认证与权限**:Django内置了用户认证系统,可以实现用户的注册、登录、权限管理等功能。在本系统中,可能需要区分学生、教师和管理员的权限...
在Django中,这一过程通常包括URL路由、视图函数、模板和模型。 首先,让我们从Web框架的基础开始。所有Web应用的核心是HTTP协议,这是一种无状态的、基于文本的协议,用于在客户端(如浏览器)和服务器之间交换...
在 `django_demo` 中,可能有一个或多个应用,如 `app1`、`app2` 等,每个应用有自己的 `models.py`(定义数据模型)、`views.py`(处理请求并返回响应)、`urls.py`(应用内部的 URL 映射)和 `templates` 目录...