中间件案例演示:
urls层:
urlpatterns = [
url(r'^getgoods/', views.getgoods),
url(r'^get/', views.get, name='get'),
]
视图层:
def getgoods(request):
return render(request, 'goods.html')
def get(request):
rand = random.randint(1, 100)
if rand > 50:
return HttpResponse('恭喜你抢到了满100减99元优惠券')
return HttpResponse('优惠券已经抢完了!')
中间件层:
先自定义文件夹: middliware --> 创建.py文件名 为 NewMiddle
from django.http import HttpResponse
from django.utils.deprecation import MiddlewareMixin
class MyMiddle(MiddlewareMixin):
def process_request(self, request): print(request.META['REMOTE_ADDR'])
#找ip地址,找到后可以在后面设限制,我这里给大家演示的是规定名字受限.
ip = request.META['REMOTE_ADDR']
if request.path == '/App/get/':
uname = request.POST.get('username')
if uname == 'doudou':
return HttpResponse("网页找不到了")