编辑
2024-07-07
👷后端架构
00
请注意,本文编写于 347 天前,最后修改于 225 天前,其中某些信息可能已经过时。

目录

1. URL映射
1.1 普通URL映射
1.2 正则表达式
1.3 命名URL参数映射
2. 视图函数
3. 模板语法

视图层的主要工作是衔接HTTP请求、Python程序、HTML模板

1. URL映射

URL分发映射配置可以被看做Django项目的入口配置,通过URL dispatcher可以指定用户的每一个访问的后台Python处理函数是什么

1.1 普通URL映射

每个Django项目都有一个urls.py文件用于维护URL dispatcher,例如:

python
from django.conf.urls import url urlpatterns = [ url(r'^year/2015/$',views.moment_2015), url(r'^year/([0-9]{4})/$', views.year_moments), url(r'^month/([0-9]{4})/([0-9]{2})/$',views.month_moments), url(r'^single/([0-9]{4})/([0-9]{2})/([0-9]+)/',views.single), ]

解析:

  • 只匹配year/2015.路径调用的是views.py中的moment_2015,moment_2015(request)
  • 匹配year/XXXX,year_moments(request,xxxx)
  • 匹配year/xxxx/xx month_moments(request,xxxx,xx)
  • 匹配single/xxxx/xx/zz single(request,xxxx,xx,zz)

1.2 正则表达式

正则表达式速查表

符号描述示例
|将下一个字符标记为一个特殊字符"\n" 匹配一个换行符,"\"匹配"" "("匹配"("
^输入字符串的开始位置"^abc",以abc开头
$输入字符串的结束位置"abc$",以abc结束
*前面的子表达式零次或多次"2*"匹配 空 2 22 222
+前面的子表达式一次或多次"2+"匹配 2 22
?前面的子表达式零次或一次"2?"匹配 空或2
{n}n是一个非负整数,只匹配确定的n次
{n,}n是一个非负整数,至少匹配n次
{n,m}m和n均是非负整数,其中n<=m
.匹配除\n外的任意单个字符
xy匹配x或y
[xyz]字符集合,匹配所包含的任意一字符
[^xyz]负值字符集合,匹配未包含的任意字符
[-]字符范围
[^-]负值字符范围,匹配不在指定范围内的任意字符

快捷正则表达式符号

符号描述示例
\b一个单词边界空格、TAB、换行等
\d一个数字字符等价[0-9]
\D一个非数字字符等价[^0-9]
\f一个换页符
\n换行符
\r回车符
\s任意空白字符
\S任意非空白字符
\t制表符
\v垂直制表符
\w包括下划线的任意单词字符
\W任意非单词字符

1.3 命名URL参数映射

定义方式是:""?P"

2. 视图函数

3. 模板语法

本文作者:Eric

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!