django views.py视图 获取用户请求相关信息以及请求头

请求的其他信息

用户发来请求时候,不仅发来数据,也把请求头也发过来

在views.py 怎么找请求数据?

request是一个对象,这个对象封装很多信息,可以先查这个对象的类

print(type(request))
from django.shortcuts import reverse
def index(request):
    v = reverse(‘author:index‘)
    print(v)
    print(type(request))

    # 找到这个类 导入这个类 <class ‘django.core.handlers.wsgi.WSGIRequest‘>
    from django.core.handlers.wsgi import WSGIRequest

    return HttpResponse("index")

去查看这个类代码

请求相关信息都放在这里,request.POST,request.GET 都是在这里提取出来

封装了所有用户请求信息

request.environ

from django.shortcuts import reverse
def index(request):
    v = reverse(‘author:index‘)
    print(v)
    print(type(request))

    # 找到这个类 导入这个类 <class ‘django.core.handlers.wsgi.WSGIRequest‘>
    from django.core.handlers.wsgi import WSGIRequest

    # 封装了所有用户请求信息
    print(request.environ)

    ‘‘‘
    {‘ALLUSERSPROFILE‘: ‘C:\\ProgramData‘, ‘APPDATA‘: ‘C:\\Users\\Administrator\\AppData\\Roaming‘, ‘COMMONPROGRAMFILES‘: ‘C:\\Program Files\\Common Files‘, ‘COMMONPROGRAMFILES(X86)‘: ‘C:\\Program Files (x86)\\Common Files‘, ‘COMMONPROGRAMW6432‘: ‘C:\\Program Files\\Common Files‘, ‘COMPUTERNAME‘: ‘QH-20181120YSCF‘, ‘COMSPEC‘: ‘C:\\Windows\\system32\\cmd.exe‘, ‘DJANGO_SETTINGS_MODULE‘: ‘day21django.settings‘, ‘FP_NO_HOST_CHECK‘: ‘NO‘, ‘HOMEDRIVE‘: ‘C:‘, ‘HOMEPATH‘: ‘\\Users\\Administrator‘, ‘LOCALAPPDATA‘: ‘C:\\Users\\Administrator\\AppData\\Local‘, ‘LOGONSERVER‘: ‘\\\\QH-20181120YSCF‘, ‘NUMBER_OF_PROCESSORS‘: ‘4‘, ‘OS‘: ‘Windows_NT‘, ‘PATH‘: ‘C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\Scripts‘, ‘PATHEXT‘: ‘.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC‘, ‘PROCESSOR_ARCHITECTURE‘: ‘AMD64‘, ‘PROCESSOR_IDENTIFIER‘: ‘Intel64 Family 6 Model 69 Stepping 1, GenuineIntel‘, ‘PROCESSOR_LEVEL‘: ‘6‘, ‘PROCESSOR_REVISION‘: ‘4501‘, ‘PROGRAMDATA‘: ‘C:\\ProgramData‘, ‘PROGRAMFILES‘: ‘C:\\Program Files‘, ‘PROGRAMFILES(X86)‘: ‘C:\\Program Files (x86)‘, ‘PROGRAMW6432‘: ‘C:\\Program Files‘, ‘PSMODULEPATH‘: ‘C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\‘, ‘PUBLIC‘: ‘C:\\Users\\Public‘, ‘PYCHARM_HOSTED‘: ‘1‘, ‘PYTHONIOENCODING‘: ‘UTF-8‘, ‘PYTHONPATH‘: ‘C:\\Users\\Administrator\\PycharmProjects\\SSSSS\\SS\\day21\\day21django‘, ‘PYTHONUNBUFFERED‘: ‘1‘, ‘SESSIONNAME‘: ‘Console‘, ‘SYSTEMDRIVE‘: ‘C:‘, ‘SYSTEMROOT‘: ‘C:\\Windows‘, ‘TEMP‘: ‘C:\\Users\\ADMINI~1\\AppData\\Local\\Temp‘, ‘TMP‘: ‘C:\\Users\\ADMINI~1\\AppData\\Local\\Temp‘, ‘USERDOMAIN‘: ‘QH-20181120YSCF‘, ‘USERNAME‘: ‘Administrator‘, ‘USERPROFILE‘: ‘C:\\Users\\Administrator‘, ‘WINDIR‘: ‘C:\\Windows‘, ‘WINDOWS_TRACING_FLAGS‘: ‘3‘, ‘WINDOWS_TRACING_LOGFILE‘: ‘C:\\BVTBin\\Tests\\installpackage\\csilogfile.log‘, ‘_DFX_INSTALL_UNSIGNED_DRIVER‘: ‘1‘, ‘RUN_MAIN‘: ‘true‘, ‘SERVER_NAME‘: ‘QH-20181120YSCF‘, ‘GATEWAY_INTERFACE‘: ‘CGI/1.1‘, ‘SERVER_PORT‘: ‘8000‘, ‘REMOTE_HOST‘: ‘‘, ‘CONTENT_LENGTH‘: ‘‘, ‘SCRIPT_NAME‘: ‘‘, ‘SERVER_PROTOCOL‘: ‘HTTP/1.1‘, ‘SERVER_SOFTWARE‘: ‘WSGIServer/0.2‘, ‘REQUEST_METHOD‘: ‘GET‘, ‘PATH_INFO‘: ‘/a/index/‘, ‘QUERY_STRING‘: ‘‘, ‘REMOTE_ADDR‘: ‘127.0.0.1‘, ‘CONTENT_TYPE‘: ‘text/plain‘, ‘HTTP_HOST‘: ‘127.0.0.1:8000‘, ‘HTTP_CONNECTION‘: ‘keep-alive‘, ‘HTTP_CACHE_CONTROL‘: ‘max-age=0‘, ‘HTTP_UPGRADE_INSECURE_REQUESTS‘: ‘1‘, ‘HTTP_USER_AGENT‘: ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36‘, ‘HTTP_ACCEPT‘: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8‘, ‘HTTP_ACCEPT_ENCODING‘: ‘gzip, deflate, br‘, ‘HTTP_ACCEPT_LANGUAGE‘: ‘zh-CN,zh;q=0.9‘, ‘HTTP_COOKIE‘: ‘csrftoken=E0U5wT67AQMApvIkPM5Cl37WNV3QOwT6ejf7AO4wQXsVMkJvGzDNAEBEZxFJbwjg‘, ‘wsgi.input‘: <_io.BufferedReader name=740>, ‘wsgi.errors‘: <_io.TextIOWrapper name=‘<stderr>‘ mode=‘w‘ encoding=‘UTF-8‘>, ‘wsgi.version‘: (1, 0), ‘wsgi.run_once‘: False, ‘wsgi.url_scheme‘: ‘http‘, ‘wsgi.multithread‘: True, ‘wsgi.multiprocess‘: False, ‘wsgi.file_wrapper‘: <class ‘wsgiref.util.FileWrapper‘>, ‘CSRF_COOKIE‘: ‘E0U5wT67AQMApvIkPM5Cl37WNV3QOwT6ejf7AO4wQXsVMkJvGzDNAEBEZxFJbwjg‘}

    ‘‘‘

    return HttpResponse("index")

常用的请求参数request.GETrequest.POSTrequest.COOKIES

拿到请求头,控制用户用什么终端访问的
    print(request.environ[‘HTTP_USER_AGENT‘])
    # Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36
显示访问网站以什么终端发来请求 (安卓,ios,pc端)还有作用不同终端访问这个网站时候,显示不同页面,比如手机的访问手机端页面,电脑端访问电脑端页面
 
通过请求头,分辨出不同终端 访问不同页面
 

原文地址:https://www.cnblogs.com/mingerlcm/p/10085431.html

时间: 2024-10-21 17:24:09

django views.py视图 获取用户请求相关信息以及请求头的相关文章

Django views.py 视图函数

参数: request 跟请求相关的内容 request.method 判断请求方式 8种 GET : 获取一个页面 POST: 提交数据 PUT : 上传 HEAD: 不用上传就获取数据 DELETE: 删除 Request-URL 标识的 TRACE: 回显服务器收到的请求 OPTIONS: 测试服务器功能是否正常 CONNECT: 将链接改为管道方式 常用 GET POST 请求 request.POST form表单提交POST请求传递的数据 获得一个{} 取值方式 [] get() r

C#获取电脑的相关信息

/* 创建者:菜刀居士的博客 * 创建日期: 2014年08月31号 * 功能:获取电脑的相关信息 * */ namespace Net.String.ConsoleApplication { using System; using System.Management; public class ComputerHelper { /// <summary> /// 获取CPU序列号代码 /// </summary> public static string GetCPUId() {

获取Java系统相关信息

1 package com.test; 2 3 import java.util.Properties; 4 import java.util.Map.Entry; 5 6 import org.junit.Test; 7 8 public class SystemTest { 9 10 /** 11 * 获取Java系统相关信息 12 * @throws Exception 13 */ 14 @Test 15 public void testSys() throws Exception { 1

C#:获取设备电量相关信息

[DllImport("kernel32.dll",EntryPoint="GetSystemPowerStatus")] //win32 api private static extern void GetSystemPowerStatus(ref SYSTEM_POWER_STATUS lpSystemPowerStatus); public struct SYSTEM_POWER_STATUS //结构体 { public Byte ACLineStatus;

UserAgent:通过浏览器获取用户浏览器等信息

User Agent的含义      User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本.浏览器渲染引擎.浏览器语言.浏览器插件等.        一些网站常常通过判断 UA 来给不同的操作系统.不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测.浏览器 的 UA 字串       标准格式为: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语

获取 窗口 进程 相关信息

GameHwnd:= FindWindow(nil,'对对碰角色版'); //得到进程ID GetWindowThreadProcessId(GameHwnd,GamePid); //得到进程句柄 GameProcess:= OpenProcess(PROCESS_VM_READ or PROCESS_VM_WRITE,False,GamePid); //读取进程内存 ReadProcessMemory(GameProcess,Pointer($0048F128),@sitnum,4,readb

C#获取程序文件相关信息的方法

本文实例讲述了C#获取程序文件相关信息的方法,分享给大家供大家参考. 具体实现方法如下: using System.Reflection; using System.Runtime.CompilerServices; // // 有关程序集的常规信息是通过下列 // 属性集控制的.更改这些属性值可修改与程序集 // 关联的信息. // [assembly: AssemblyTitle("")] [assembly: AssemblyDescription("")]

获取用户的初始信息展示

获取用户的个人信息,联系人列表,公众号 1.页面展示,templates/index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Wechat</title> </head> <body> <h1>个人信息</h1> <div> &

Django之views.py视图函数学习

视图函数: 视图函数时存在django项目中的应用程的一个名为views.py的文件模块: 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 一个简单的视图: 下面是一个以HTML文档的形式返回当前日期和时间的视图: views.py 1 from django.http import HttpResponse 2 3 import datetime 4 5 def current_datetime(request): 6 7 now =