千与千寻django(二)---永远的helloword
来源:互联网 发布:php curl设置超时时间 编辑:程序博客网 时间:2024/05/21 06:46
动态的内容
面已经介绍了如何安装django的集成环境了并已经运行起它自带的一个页面,但毕竟不是我们自己的东西,人家生成的终究是人家 的,所以呢,自己动手丰衣足食,下面我们就自己动手做一个自己的djangoweb程序吧,当然还是helloword为例,helloword包含了太多的往忆呀!
原理
我们写个view视图的方法,接受web请求并返回web的应答,当然这个应答可以是HTML内容、重定向、404错误、XML文档、图像等等 ,但是为了简单,我们就直接返回字符串,
那么我们应该将其写在哪呢?当然是随便了但是要保证在python path下以至于python能够找到它,所以我们将其放在views.py并保存到我们上次生成的那个目录下
from django.http import HttpResponse'''Created on 2013-3-21@author: Senssic'''def helloword(request): str="hello word" return HttpResponse(str)
URL配置
配置URL的目的是URL模式和对应的view函数的映射,当符合某个特定的逻辑就会被调用
所以在我们生成的urls.py做如下配置
from django.conf.urls.defaults import patterns, include, urlfrom mysite.views import hellowordurlpatterns = patterns('', (r'^helloword/$',helloword), )注:
此处(r'^helloword/$',helloword)为python的元组,是url的映射配置关系,不是调用helloword函数,而是作为一个对象传递的,'^'和'$'符号很重要,前者表示“匹配string的开始的模式”,后者表示“匹配string结束的模式”,还有就是不必在'^now/$'前面增加斜线来匹配/now/,Django自动在每个表达式前面添加斜线 .
好了那我们运行看看结果吧
http://127.0.0.1:8000/helloword/
至此第一个自己的web就弄好了,亲简单吧。
处理原理
命令python manage.py runserver找到settings.py,这个文件包含了这个Django实例的所有配置选项
最重要的设置是ROOT_URLCONF(ROOT_URLCONF = 'mysite.urls'),它告诉Django使用哪个Python模块作为当前站点的URL配置-->>当一个请求进来如/helloword/,Django载入URL配置,然后按顺序检查每个URL模式直到找到一个匹配的URL请求模式,然后Django调用那个模式匹配的方法,并传递一个HttpRequest对象作为第一个
最重要的设置是ROOT_URLCONF(ROOT_URLCONF = 'mysite.urls'),它告诉Django使用哪个Python模块作为当前站点的URL配置-->>当一个请求进来如/helloword/,Django载入URL配置,然后按顺序检查每个URL模式直到找到一个匹配的URL请求模式,然后Django调用那个模式匹配的方法,并传递一个HttpRequest对象作为第一个
参数 -->视图方法负责返回一个HttpResponse对象
关于URL匹配
常用的正则
- Symbol Matches
- .(dot) 任意字符
- \d 任意数字
- [A-Z] 从A到Z的任意字符(大写)
- [a-z] 从a到z的任意字符(小写)
- [A-Za-z] 从a到z的任意字符(大小写不敏感)
- [^/]+ 任意字符直到一个前斜线(不包含斜线本身)
- + 一个或多个前面的字符
- ? 零个或多个前面的字符
- {1,3} 1个到3个之间前面的字符(包括1和3)
所以我们可以构建动态的url
像这样:
(r'^helloword/plus(\d{1,2})hours/$', plutsnum),
http://127.0.0.1:8000/helloword/plus3hours/----正常访问
http://127.0.0.1:8000/helloword/plus300hours/---Django显示“Page not found”错误
http://127.0.0.1:8000/helloword/plushours/也会显示404错误,因为我们只接受1个或2个数字的参数
- 千与千寻django(二)---永远的helloword
- 千与千寻django(三)---django的模板系统
- 千与千寻django(五)---django的自带管理界面
- 千与千寻django(一)---安装
- 千与千寻django(四)---django的模型层与数据库的连接
- 【千与千寻的神隐】
- 千与千寻
- 千与千寻
- 千与千寻
- 千与千寻
- 《千与千寻》
- 千与千寻django(七)---表单(form)
- Django 框架之 HelloWord
- 千与千寻django(六)---通用视图(Generic views)
- 千与千寻 一个10岁小女孩的内心世界
- 会被杀掉的哦 千与千寻
- Vivado的helloword程序(二):软件工程部分
- 永远永远的挚爱
- ARM下书写位置无关的代码
- Android UI控件之Gallery --拖动、覆盖、循环、3D图片浏览 效果之二
- 网站如何吸引客户
- NPAPI & NPRuntime 簡介 Scriptable Plugin
- 线下推广网站的7种方法
- 千与千寻django(二)---永远的helloword
- ubuntu 上安装 oprofile
- SSL握手的具体流程
- windows网络编程笔记
- C#:扩展方法
- Android Service学习之IntentService 深入分析
- Linux3.4内核的基本配置和编译
- 自动关机批处理程序
- ANDROID更改CPU信息