Django 自定义过滤器

在项目目录中建立templatetags目录

建立my_filter.py 文件

#导入模板模块
from django import template

#注册过滤器对象
register = template.Library()

#自定义过滤器
#在django内部,通过装饰器的方式来注册自定义过滤器
@register.filter
def my_str(val):
return ‘$’ + str(val)

#定义一个双参数的过滤器
@register.filter
def my_str_two(val,p1):
return val + p1

#定义一个多参数的过滤器
#注册过滤器的时候,需要注册simple_tag
@register.simple_tag
def my_str_many(val,p1,p2):
return val + p1 + p2

#定义一个取余数的过滤器
@register.filter
def get_line(val):
return int(val) % 2

在模板中先调用过滤器文件

{# 导入过滤器文件 #}
{% load my_filter %}

{{ test_str | my_str }}

{# 两个参数,进行调用 #}
{{ '你好' | my_str_two:'不好' }}

{# 调用多参数的过滤器 #}
{% my_str_many '你好' '不好' '啊' %}

django 自定义中间层

在目录建立my_middle.py文件,可以达成类似flask“钩子“的方法,完成前置和后置操作

#导入中间件库
from django.utils.deprecation import MiddlewareMixin

#定义中间件类
class MyMiddle(MiddlewareMixin):
#定义请求之前的方法
def process_request(self,request):
request.session[‘str’] = ‘welcome’
print(‘在请求之前’)

#定义请求之后的方法
def process_response(self,request,response):
    print('在请求之后')
    del request.session['str']
    return response

Django 的session 需要设置连接mysql数据库

修改配置文件settions.py

‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’, #数据库引擎
‘NAME’: ‘mydjango’, #数据库名
‘USER’: ‘root’, #用户名
‘PASSWORD’: ‘123456’, #密码
‘HOST’: ‘’, #数据库主机,默认为localhost
‘PORT’: ‘’, #数据库端口,MySQL默认为3306
‘OPTIONS’: {
‘autocommit’: True,
}
}

修改 init.py 文件

#导包
import pymysql
#初始化
pymysql.install_as_MySQLdb()

django session 的增删取

存储
request.session[‘username’] = ‘123’

删除
del request.session[‘username’]

取值
request.session.get(“username”)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值