`

Django模型数据类型和模版标签详解

阅读更多

一: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 %}

 

分享到:
评论

相关推荐

    Django课件笔记详解

    - **模板过滤器和标签**: 过滤器用于修改变量值,标签用于执行逻辑操作。 ### 6. 表单(Form) - **定义表单**: Django提供内置的表单处理机制,可以自定义表单类,映射到模型或独立字段。 - **数据验证**: 表单...

    Django商品管理系统

    1. **模型(Model)**:在Django中,模型是数据库的抽象层,用于定义数据结构和字段类型。在商品管理系统中,商品模型可能会包含如商品名称、描述、价格、库存量等属性。通过定义模型,我们可以轻松地与数据库进行...

    django的概述、原理及应用.pdf

    - **实现方式**: 使用Django提供的模板语言和标签来动态生成HTML内容,实现数据展示逻辑与业务逻辑的分离。 - **示例**: 创建一个模板文件`index.html`,并在其中使用模板标签如`{{ variable }}`来显示变量的值。 ...

    中文版django+book.pdf

    2. 管理后台:Django admin自动生成管理界面,便于管理模型数据。 3. RESTful API:使用Django Rest Framework构建API服务。 通过阅读《django+book.pdf》,你可以全面了解Django框架,从基础到实践,逐步掌握Web...

    django教程

    4. **灵活性**:Django允许开发者根据项目需求进行定制化开发,包括自定义模型字段、模板标签等。 #### 二、Django框架的核心组件 **1. 模型层(Model Layer)** 模型层是Django中负责数据操作的部分,用于定义应用...

    Pro Django

    - **知识点概述**:本章详细阐述了Django模型的概念及其在数据存储方面的应用。 - **内容详述**: - Django模型的基本定义及字段类型; - 数据库表结构与模型类之间的映射关系; - 模型之间的关联关系(如一对...

    django1.2文档

    Django 1.2 支持多种模板语言特性,如继承、过滤器和标签,使得开发者能够轻松地控制页面布局。 4. **URL 分发(URLconfs)**:Django 的 URL 路由系统允许通过简单的正则表达式将 URL 映射到视图函数,实现灵活的 ...

    djangoWeb.rar

    模板可以包含控制结构(如if/else、for)、过滤器(对变量进行转换)和标签(执行特定功能),实现页面内容与逻辑的分离。 六、URL路由 Django的URL路由系统允许我们将URL模式映射到视图函数。通过在`urls.py`文件...

    Django开发文档

    - **模板语法**: Django 模板引擎支持丰富的语法,包括变量、标签、过滤器等。 - **继承与扩展**: Django 模板支持继承机制,可以方便地复用公共部分。 **1.6 表单** - **自动生成表单**: 可以根据模型自动创建...

    Django说明及示例

    - **模板标签和过滤器**:自定义模板标签和过滤器可以扩展模板功能。 ##### 4. 表单处理 - **表单类定义**:使用表单类定义数据验证规则。 - **表单处理流程**:从用户输入获取数据,验证数据有效性,保存数据到...

    Django学校管理系统

    Model负责数据模型,Template处理视图展示,View则处理用户请求并调用相应的模板和模型。 **2. 数据库模型(Model)** 在“Django学校管理系统”中,模型可能是学生、教师、课程等实体的抽象。Django的ORM(对象...

    我的笔记django!

    这包括但不限于变量、数据类型(如整型、浮点型、字符串、列表、元组、字典)、控制流(条件语句、循环语句)、函数和模块的使用。这些基本概念为理解和编写Django应用提供了基础。 2. **Django开发 (day15, day16,...

    django 2.1 doc

    - **模型层**:讲解了 Django 的数据模型设计方法,包括字段类型、数据库操作等。 - **视图层**:介绍了如何编写视图函数来处理 HTTP 请求,并返回响应。 - **模板层**:详细说明了 Django 模板系统的用法,包括...

    Django1.6 官方文档

    - 包括地理数据类型、地理空间查询等功能。 **13. 常见 Web 应用工具** - Django 内置了多个实用工具,如静态文件管理、中间件支持等。 - 这些工具可以帮助开发者高效地开发和维护 Web 应用。 **14. 其他核心功能...

    django+mysql 药品管理系统

    每个表单对应一个模型,可以定义字段类型、必填项和验证规则。在视图中处理表单数据,确保输入的有效性。 ### 6. URL 路由 Django 的 URL 路由系统允许灵活地定义 URL 结构。每个 URL 对应一个视图函数,处理特定的...

    untitled2.rar Django课堂案例

    三、Django模型 在“models.py”中,开发者会定义数据库表的结构,如字段类型、验证规则等。Django提供了ORM(对象关系映射)功能,使开发者可以使用Python代码操作数据库,无需直接编写SQL语句。 四、Django视图 ...

    django简易学生成绩管理

    通过模板标签和过滤器,可以方便地将后端数据渲染到前端页面。 6. **用户认证与权限**:Django内置了用户认证系统,可以实现用户的注册、登录、权限管理等功能。在本系统中,可能需要区分学生、教师和管理员的权限...

    Django基础知识 web框架的本质详解

    在Django中,这一过程通常包括URL路由、视图函数、模板和模型。 首先,让我们从Web框架的基础开始。所有Web应用的核心是HTTP协议,这是一种无状态的、基于文本的协议,用于在客户端(如浏览器)和服务器之间交换...

    django_demo.zip

    在 `django_demo` 中,可能有一个或多个应用,如 `app1`、`app2` 等,每个应用有自己的 `models.py`(定义数据模型)、`views.py`(处理请求并返回响应)、`urls.py`(应用内部的 URL 映射)和 `templates` 目录...

Global site tag (gtag.js) - Google Analytics