django入门笔记-2
来源:互联网 发布:jsp购物系统源码 编辑:程序博客网 时间:2024/05/22 15:01
一,创建视图
通过 django-admin.py startproject blog 创建的项目目录结构为
/blog
-manage.py
/blog
-__init__.py -setting.py -urls.py -wsgy.py
进入里层 blog目录 新建 views.py
1 from django.http import HttpResponse, Http404 2 from django.template.loader import get_template 3 from django.template import Context 4 import datetime 5 6 def hello(request): 7 return HttpResponse("Hello django") 8 9 def my_homepage_view(request): 10 return HttpResponse("Home page") 11 12 def current_datetime(request): 13 now = datetime.datetime.now() 14 t = get_template('current_datetime.html') 15 html = t.render(Context({'current_date':now})) 16 return HttpResponse(html) 17 18 def hours_ahead(request, offset): 19 try: 20 offset = int(offset) 21 except ValueError: 22 raise Http404() 23 dt = datetime.datetime.now() + datetime.timedelta(hours=offset) 24 html = "<html><body>In %s hour(s), it will be %s.</body></html>" % (offset, dt) 25 return HttpResponse(html)
1-4行导入需要的资源
6,9,12行分别定义四个方法
hello, my_homepage_view 均返回字符串
current_datetime方法 通过从 模板目录加载目标 然后将变量放入模板生成新页面字符串并返回
hours_ahear方法有两个参数 其中 offset 是通过url传递过来的参数
2,视图创建后配置urls
1 from django.conf.urls import patterns, include, url 2 from blog.views import hello, my_homepage_view, current_datetime, hours_ahead 3 4 # Uncomment the next two lines to enable the admin: 5 # from django.contrib import admin 6 # admin.autodiscover() 7 8 urlpatterns = patterns('', 9 10 ('^$', my_homepage_view), 11 ('^hello/$', hello), 12 ('^time/$', current_datetime), 13 (r'^time/plus/(\d{1,2})/$', hours_ahead), 14 15 )
配置4个url映射,10行 映射首页,11行hello方法,12行请求current_datetime方法, 13行计算几小时后的时间。
字典的 key 类似 '^action/$' 是对应url请求,就是一般的正则表达式写法。 value 及对应 views方法,需在from里引入。
3,创建模板
在项目目录 blog 中创建 template,然后编辑 /blog/blog/setting.py
109 TEMPLATE_DIRS = (110 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".111 # Always use forward slashes, even on Windows.112 # Don't forget to use absolute paths, not relative paths.113 '/home/zhh/Workspace/Django/blog/template',114 115 )第113行 即 配置的模板存放目录
然后在 /blog目录新建template目录,然后在template目录新建文件 current_datetime.html
1 <html> 2 <body> 3 It is now {{ current_date}} 4 </body> 5 </html>
到这里项目已经完成
http://localhost:8000/
http://localhost:8000/hello/
http://localhost:8000/time/
http://localhost:8000/time/plus/1/
ps.访问time时会发现时间有误,因为使用的是芝加哥时间,需到setting.py中配置时间为北京时间。
31 TIME_ZONE = 'Asia/Shanghai'
- django入门笔记-2
- Django Crusher 入门笔记(2)
- django入门笔记2- 网站框架搭建
- django入门笔记-1
- Django入门笔记
- django入门笔记
- Django入门学习笔记
- django入门笔记6- form
- django入门笔记4- template
- django入门笔记5- model
- django入门笔记7 - views
- django入门笔记8 - session
- django入门笔记10 - contrib
- django入门笔记12 - admin
- django入门笔记13 - 国际化
- django入门笔记14 - 安全
- django入门笔记15 - 部署
- Django Crusher 入门笔记(1)
- JQuery学习(6)调用正则判断输入内容
- uva 11624 - Fire!
- 黑马程序员_java的IO流(对第十九课字符缓冲区及装饰设计模式的总结)
- 常用的Zend Studio for Eclipse快捷键
- 移动开发Android中SQlite数据库存取Bitmap
- django入门笔记-2
- Oracle中index by binary_integer的作用
- Timer详解
- 线程同步的例子
- 从尾到头输出链表
- 当出现Magento搜索功能不可用时的处理
- Linux下查看文件内容的命令
- UDP穿透NApT的原理与实现之P2P篇---cone nat
- java mail开发