文件名称:从请求对象中获取数据-libmodbus源码解析
文件大小:7.37MB
文件格式:PDF
更新时间:2024-07-14 01:47:15
6.1从请求对象中获取数据 第 2 章首次介绍视图函数时提到过 HttpRequest对象,但是没有细讲。还记得吗,每个视图函数的第一个参 数都是一个 HttpRequest对象,如下面的 hello()视图所示: from django.http import HttpResponse def hello(request): return HttpResponse("Hello world") HttpRequest对象,如这里的 request参数,有一些有用的属性和方法,你应该有所了解,这样才知道有什么 可用。执行视图函数时,可以使用这些属性获取关于当前请求(即用户在 Web 浏览器中访问 Django 驱动的 网站中的某个页面)的信息。 6.1.1关于 URL 的信息 HttpRequest对象中有一些关于当前所请求 URL 的信息(表 6-1)。 表 6-1:HttpRequest对象的方法和属性 属性/方法 说明 示例 request.path 完整的路径,不含域名,但是包 含前导斜线 “/hello/” request.get_host() 主机名(即通常所说的“域名”) “127.0.0.1:8000”或“www.exam-ple.com” request.get_full_path() 包含查询字符串(如果有的话) 的路径 “/hello/?print=true” request.is_secure() 通过 HTTPS 访问时为 True,否 则为 False True或 False 在视图中一定要使用这些属性或方法,不能硬编码 URL。这样写出的代码更灵活,便于在不同的地方复用。 下面举个简单的例子: # 不好 def current_url_view_bad(request): return HttpResponse("Welcome to the page at /current/") 83