【1】自定义过滤器,自定义标签
第一步
首先注册一个app
第二步
在注册的app下创建一个包,包名必须为templatetags
第三步
在templatetags包下面创建一个py文件,文件名随便起
第四步
在py文件中写入:以下代码
from django import template from django.utils.safestring import mark_safe register = template.Library() # register的名字是固定的,不可改变 定义自己的过滤器或标签 ''' 定义过滤器使用:@register.filter 定义标签使用:@register.simple_tag ''' # 定义一个过滤器,实现敏感词替换功能 @register.filter def filter_words(content:str)->str: l = ['妈的', '傻逼', '退游'] # 把content中所有关键词,替换,返回 for item in l: content = content.replace(item, "**") return content # 定义一个标签 @register.simple_tag def my_input(id,arg): result = "<input type='text' id='%s' class='%s' />" %(id,arg) return mark_safe(result)
第五步
在模板上使用
//导入过滤器 {% load comm_filter %} //过滤器使用 { { content|filter_words }} //标签使用 {% my_input 7 'red' %}
二、模型层(models.py)
【1】orm框架 ------ 对象映射关系
数据库 Django程序中
数据表 --------映射----------》类
记录 ----------映射-----------》对象
【2】利用Django创建一张表
from django.db import models
# 写一个个类
class Book(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=64, null=False)
price = models.DecimalField(max_digits=7, decimal_places=2)
'''
注意:
1、类必须继承models.Model
2、写好类后,必须执行数据库迁移
3、数据库迁移命令:
manage.py makemigrationspython ------ 生成迁移记录(先执行)
manage.py migrate --------- 将数据写入到数据库中(后执行)
'''
【3】常用字段和非常用字段
字段名 | 解释和传参 | 注意 |
AutoField(Field) | int自增列,必须填入参数 primary_key=True | 当model中如果没有自增列,则自动会创建一个列名为id的列 |
BigAutoField(AutoField) | bigint自增列,必须填入参数 primary_key=True | |
SmallIntegerField(IntegerField): | 小整数 -32768 ~ 32767 | |
PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField) | 正小整数 0 ~ 32767 | |
IntegerField(Field) | 整数列(有符号的) -2147483648 ~ 2147483647 | |
PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField) | 正整数 0 ~ 2147483647 | |
BigIntegerField(IntegerField): | 长整型(有符号的) -9223372036854775808 ~ 9223372036854775807 | |
BooleanField(Field) | 布尔值类型 | |
NullBooleanField(Field): |