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”)
原文:https://www.cnblogs.com/1488boss/p/10836349.html