Django其他技术
一.静态文件
2.使用
在Django 如果要使用静态文件需要建立一个静态文件夹。
二.中间件
中间件函数是Django框架给我们预留的函数接口,让我们可以干预请求和应答过程。
1.获取浏览器端的IP地址
使用request对象META属性:
1 | ip = request.META['REMOTE_ADDR'] |
获取访问者IP
1 | def index(request): |
阻止某IP访问
1 | EXCLUDE_IPS = ['172.16.19.26'] |
阻止IP访问装饰器
1 | from django.conf import settings |
2.使用中间件
中间件是每个函数调用之前自动会执行的。
新建一个middleware.py文件。
app文件下创建这个文件。
名字可以改变但是一般都叫做这middleware
打开middleware.py 创建中间件函数。
1
2
3
4
5
6
7
8
9from django.http import HttpResponse
class BlockedIPSMiddleware(object): #中间件类
EXCLUDE_IPS = ['172.16.19.26']
def process_view(self,request, view_func , *view_args, **view_kwargs): #中间件函数
'''视图函数调用之前会调用'''
user_ip request.META['REMOTE_ADDR']
if user_ip in BlockedIPSMiddleware.EXCLUDE_IPS:
return HttpResponse('禁止访问')在setting 的 MIDDLEWARE 里面注册中间件类
1
2
3
4
5
6
7
8
9
10MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'booktest.middleware.BlockedIPSMiddleware', #注册中间件类
]
在类中定义中间件预留函数
1 | __init__:服务器响应第一个请求的时候调用。 |
中间件函数执行过程、
1 | class TestMiddleware(object): |
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com