Created
October 25, 2012 15:10
-
-
Save xiangyuan/3953222 to your computer and use it in GitHub Desktop.
django请求原理流程
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 总结一下: | |
| 进来的请求转入/hello/. | |
| Django通过在ROOT_URLCONF配置来决定根URLconf. | |
| Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。 | |
| 如果找到匹配,将调用相应的视图函数 | |
| 视图函数返回一个HttpResponse | |
| Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来 | |
| 你现在知道了怎么做一个 Django-powered 页面了,真的很简单,只需要写视图函数并用 URLconfs把它们和URLs对应起来。 你可能会认为用一系列正则表达式将URLs映射到函数也许会比较慢,但事实却会让你惊讶 | |
| 另外一个重点,正则表达式字符串的开头字母“r”。 它告诉Python这是个原始字符串,不需要处理里面的反斜杠(转义字符)。 在普通Python字符串中,反斜杠用于特殊字符的转义。比如n转义成一个换行符。 当你用r把它标示为一个原始字符串后,Python不再视其中的反斜杠为转义字符。也就是说,“n”是两个字符串:“”和“n”。由于反斜杠在Python代码和正则表达式中有冲突,因此建议你在Python定义正则表达式时都使用原始字符串。 从现在开始,本文所有URL模式都用原始字符串。4 | |
| 现在我们已经设计了一个带通配符的URL,我们需要一个方法把它传递到视图函数里去,这样 我们只用一个视图函数就可以处理所有的时间段了。 我们使用圆括号把参数在URL模式里标识 出来。 在这个例子中,我们想要把这些数字作为参数,用圆括号把 \d{1,2} 包围起来: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment