1、URL
- URL(Uniform Resource Locator),即统一资源定位符
- 作用:用来表示互联网上某个资源的地址
- 格式:protocol://hostname[:port]/path?[?query][#fragment]
1.1、协议
- http:通过http访问资源,格式为http://
- https 通过https访问资源,格式https://
- ftp 资源时本地计算机上的问津,格式为ftp://
1.2、主机名
- hostname是指存放资源额服务器的域名系统(DNS)主机名,域名或者ip地址
1.3、端口
- 端口,可选,省略时使用默认端口
- http默认端口号80
1.4、路由地址(path)
- 由零或多个“/”字符隔开的字符串,一般用来表示主机上的一个目录或文件地址,路由的地址决定了服务器端如何处理这个请求
1.5、查询(query)
- 可选,用于给动态网页传递参数,可有多个参数,以?开头,多个参数之间使用&连接,每个参数的名和值中间用=隔开
1.6、fragment(信息片段)
- 字符串,用于指定网路资源中的片段,例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词的解释
2、Django处理URL流程
- 浏览器输入地址:http://127.0.0.1:8080/
- 1)Django从配置文件根据ROOT_URLCONF找到主路由文件,默认情况下,该文件在项目名称目录下的urls.py
- 2)Django 加载主路由文件中的urlpatterns变量,此变量包含多个路由
- 3)依次匹配urlpatterns中的path,匹配到第一个合适的终端后续匹配
- 4)匹配成功,调用对应的视图函数处理请求,返回响应
- 5)匹配失败,返回404响应
3、视图函数
- 视图函数是用于接受一个浏览器请求HttpRequest并通过HttpResponse对象返回响应的函数,此函数可以接受浏览器请求并根据业务逻辑返回相应的响应内容给浏览器
- 视图函数的第一个参数必须是request,即浏览器传过来的HTTPRequest对象
4、创建一个url以及对应的视图函数
- 1)在项目同名文件夹下创建用于编写视图函数的文件views.py,内容如下:即定义一个hello视图函数,函数返回一个HTTPResponse对象,内容时“我的第一个网页”
from django.http import HttpResponse
def hello(request):
html="<h1>我的第一个网页</h1>"
return HttpResponse(html)
- 2)在urls.py中导入视图函数,并且增加一个路由,内容如下:
- 3)保存文件,如果DEBUG模式打开的话此时django会自动重新加载的
- 4)在浏览器打开 http://127.0.0.1:8080/hello/ ,结果如下,表示url和视图增加已经生效