从零开始学django-2
从零开始学 django-2
URL
定义:Uniform Resource Locator
作用:定位互联网上某个资源的位置
格式:protocol :// hostname[:port] / path [?query][#fragment]
1 | protocol:协议,有http,https,file(本地计算机上的文件,为file:///)等 |
Django处理URL请求
- django从配置文件中找到ROOT_URLCONF,找到主路由文件
- django加载主路由文件的urlpatterns变量
- 依次匹配urlpatterns(数组)的path,直到匹配成功再停止
- 匹配成功,调用对应的视图函数处理请求
- 匹配失败,返回404
视图函数
定义:用来接受浏览器请求并通过HttpResponse对象返回响应的函数。
语法:
1 | from django.http import HttpResponse |
我们一般将视图函数写在views.py中
路由配置
path函数
导入:
1 | from django.http import HttpResponse |
语法:path(route,views,name=None)
参数:route:匹配的路径;views:对应的视图函数名称;name:为地址起别名;
path转换器
用于path传递变量
语法:<类型:自定义名>
1 | path('page/<int:page>',views.xxx) |
其中<int:page>为path转换器,page为变量名,int为变量类型
利用关键字传参的方式传递给视图函数
类型 | 作用 |
---|---|
str | 除’/‘外非空字符串 |
int | 匹配0或任意正整数,返回一个int |
slug | 匹配任意由ACII字母或数字以及连字符和下划线组成的短标签 |
path | 匹配非空字段,包括’/‘ |
re_path()
使用正则表达式进行精确的匹配
语法:re_path(reg,view,name=xxx)
正则表达式为命名分组模式(?P<name>pattern)
示例:
1 | re_path(r'^(?P<x>\d{1,2})/(?P<op>\w+)/(?P<y>\d{1,2})$') |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ando's blog!