Django
一、django后台请求处理过程python
找到setting文件中ROOT_URLCONF所指向的文件,它告诉django,这个站点中全部被用到的模块都在ROOT_URLCONF指向的文件中。按顺序逐个匹配URLconf里的URLpatterns,当找到这个匹配 的URLpatterns就调用相关联的view函数,并把 HttpRequest 对象做为第一个参数。正则表达式
运行过程:
进来的请求传入/hello/.
Django经过在ROOT_URLCONF配置来决定根URLconf.
Django在URLconf中的全部URL模式中,查找第一个匹配/hello/的条目。
若是找到匹配,将调用相应的视图函数
视图函数返回一个HttpResponse
Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来。django
摘录:安全
一、运行 django-admin.py startproject mysite 命令在当前目录建立一个 mysite 目录服务器
备注:若是发现找不到该命令,是由于django的安装目录没有添加到系统路径中。解决方法是将django的安装目录添加到系统变量中的path路径中。函数
二、新建的工程中各个文件的做用工具
__init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。
manage.py :一种命令行工具,可以让你以多种方式与该 Django 项目进行交互。
settings.py :该 Django 项目的设置或配置。
urls.py :该 Django 项目的 URL 声明,即 Django 所支撑站点的内容列表url
三、django自带服务器的缺点spa
尽管对于开发来讲,这个开发服务器很是得棒,但必定要打消在产品级环境中使用该服务器的念头。在同一时间,该服务器只能可靠地处理一次单个请求,而且没有进行任何类型的安全审计。命令行
四、url文件中的正则表达式
模式包含了一个尖号(^)和一个美圆符号($)。这些都是正则表达式符号,而且有特定的含义: 上箭头要求表达式对字符串的头部进行匹配,美圆符号则要求表达式对字符串的尾部进行匹配。
最好仍是用范例来讲明一下这个概念。 若是咱们用尾部不是$的模式’^hello/’,那么任何以/hello/开头的URL将会匹配,例如:/hello/foo 和/hello/bar,而不单单是/hello/。相似地,若是咱们忽略了尖号(^),即’hello/$’,那么任何以hello/结尾的URL将会匹配,例如:/foo/bar/hello/。若是咱们简单使用hello/,即没有^开头和$结尾,那么任何包含hello/的URL将会匹配,如:/foo/hello/bar。所以,咱们使用这两个符号以确保只有/hello/匹配,很少也很多。
五、正则表达式
符号 | 匹配 |
---|---|
. (dot) | 任意单一字符 |
\d | 任意一位数字 |
[A-Z] | A 到 Z中任意一个字符(大写) |
[a-z] | a 到 z中任意一个字符(小写) |
[A-Za-z] | a 到 z中任意一个字符(不区分大小写) |
+ | 匹配一个或更多 (例如, \d+ 匹配一个或 多个数字字符) |
[^/]+ | 一个或多个不为‘/’的字符 |
? | 零个或一个以前的表达式(例如:\d? 匹配零个或一个数字) |
* | 匹配0个或更多 (例如, \d* 匹配0个 或更多数字字符) |
{1,3} | 介于一个和三个(包含)以前的表达式(例如,\d{1,3}匹配一个或两个或三个数字) |