Django学习笔记2

创建视图和添加可访问的url

如果你曾经发布过Hello world页面,但是没有使用网页框架,只是简单的在hello.html文本文件中输入Hello World,然后上传到任意的一个网页服务器上。 注意,在这个过程中,你已经说明了两个关于这个网页的关键信息: 它包括(字符串 “Hello world”)和它的URL( http://127.0.0.1:8000/hello.html

使用Django,你会用不同的方法来说明这两件事 页面的内容是靠view function(视图函数) 来产生,URL定义在 URLconf 中。

先写一个Hello World视图函数。

注意Django新版本中会自动在你的app_name目录下创建一个view.py文件,这个就是我们放视图函数的文件。


from django.http import HttpResponse

def hello(request):
return HttpResponse(“Hello world”)

添加URL和视图之间的映射

URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。执行 django-admin.py startproject 时,该脚本会自动为你建了一份 URLconf(即 urls.py 文件)。
在高版本Django中,自动为我们加入了后台的url,和视图,不过这个视图是库内部的。这里加入我们刚刚写的视图,注意格式一定要引号,要用app_name后的完整路径。


urlpatterns = [
url(r’^app_name/’,’app_name.views.hello’),
url(r’^admin/’, admin.site.urls),
]

在浏览器输入127.0.0.1:8000/hello/即可访问hello world页面!

总结Django加载页面的流程

  1. 进来的请求转入/hello/.
  2. Django通过在ROOT_URLCONF配置来决定根URLconf.
  3. Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
  4. 如果找到匹配,将调用相应的视图函数
  5. 视图函数返回一个HttpResponse
  6. Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来

让你的网页动态起来

添加一个新的视图

在views.py文件中添加如下内容-一个实时时间函数

import datetime

def hello(request):
return HttpResponse(“Hello world”)

def current_datetime(request):
now = datetime.datetime.now()
html = “It is now %s.” % now
return HttpResponse(html)

修改URLConf - urls.py

添加如下内容:
url(r'^time/','article.views.current_datetime')

Django和URL配置背后的哲学: 松耦合原则。 简单的说,松耦合是一个 重要的保证互换性的软件开发方法。URL的定义和视图函数之间就是松耦合的,换句话说,决定URL返回哪个视图函数和实现这个视图函数是在两个不同的地方。

参考http://djangobook.py3k.cn/2.0/chapter03/
http://read.douban.com/ebook/8981906/?dcs=book-search

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值