Django Request对象以及模板表单提交

Request对象

从Request对象中获取数据:
URL相关信息
HttpRequest对象包含当前请求URL的一些信息, 可以用以下方式获取:

属性/方法 说明 输出举例
request.path 除域名以外的请求路径,以正斜杠开头 "/hello/"
request.get_host() 主机名(比如,通常所说的域名) "127.0.0.1:8000" or "www.example.com"
request.get_full_path() 请求路径,可能包含查询字符串 "/hello/?print=true"
request.is_secure() 如果通过HTTPS访问,则此方法返回True, 否则返回False True 或者 False $1
request.META

request.META 是一个Python字典,包含了所有本次HTTP请求的Header信息,比如用户IP地址和用户Agent(通常是浏览器的名称和版本号)。 注意,Header信息的完整列表取决于用户所发送的Header信息和服务器端设置的Header信息。 这个字典中几个常见的键值有:

  • HTTP_REFERER,进站前链接网页,如果有的话。 (请注意,它是REFERRER的笔误。)

  • HTTP_USER_AGENT,用户浏览器的user-agent字符串,如果有的话。 例如: "Mozilla/5.0 (X11; U; Linux i686; fr-FR; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17" .

  • REMOTE_ADDR 客户端IP,如:"12.345.67.89" 。(如果申请是经过代理服务器的话,那么它可能是以逗号分割的多个IP地址,如:"12.345.67.89,23.456.78.90" 。)

//META数据获取实例
def ua_display_bad(request):
    ua = request.META['HTTP_USER_AGENT']  # Might raise KeyError!
    return HttpResponse("Your browser is %s" % ua)

所有metaa属性输出:

request.POST

request.POST 是一个类字典对象,让你可以通过关键字的名字获取提交的数据。

注意,Django 还以同样的方式提供 request.GET 用于访问 GET 数据 —— 但我们在代码中显式地使用 request.POST ,以保证数据只能通过 POST 调用改动。

如果post没有获取到变量传入, 则会引发一个 KeyError

//获取传入的参数choice
choice = request.POST['choice']

表单

表单操作流程官方教材已经很详细, 不需要另外补充:
https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial04/

你可能感兴趣的:(Django Request对象以及模板表单提交)