美文网首页
Django Request对象以及模板表单提交

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

作者: LittleTrue | 来源:发表于2019-02-23 17:25 被阅读0次

    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对象以及模板表单提交

          本文链接:https://www.haomeiwen.com/subject/sdukyqtx.html