request对象
参考:https://www.cnblogs.com/hao-guo/p/12672224.html
python
# 请求的url,下面几个都行
request.path
request.path_info
request.get_full_path()
request.get_full_path_info()
# 有关响应的详细信息,包括很多东西
request.META
# 请求的IP
request.META.get("REMOTE_ADDR")
# 判断和取get请求路径上的参数
request.GET
判断和取get请求路径上的参数
GET请求时,url上携带的参数,在路由上无需特殊处理,只需要在视图函数中通过request.GET.get获取就好了。
python
# urls.py
re_path(r'menu/list/$', menu.menu_list, name='menu_list'),
# viwes.py
def menu_list(request):
""" 菜单列表 """
# http://127.0.0.1:8000/rbac/menu/list/?mid=2
menu_id = request.GET.get("mid") #
print(request.GET) # <QueryDict: {'mid': ['2']}>
# http://127.0.0.1:8000/rbac/menu/list/
menu_id = request.GET.get("mid") #
print(request.GET) # <QueryDict: {}>
钩子方法 | 执行时间节点 | 参数 | 返回值 | 重要程序 | |
---|---|---|---|---|---|
process_request | 在视图函数执行之前执行 | request,这个request和视图中的request是同一个 | 1. 如果是None,就表示正常执行完该中间件,然后请求往后继续; 2. 如果返回一个render、redirect、或者HttpResponse对象,请求就会直接返回,该中间件后面的中间件和后续试图函数都不执行了,具有拦截的作用。 | 五星 | |