Django 框架入门学习

Django的学习借助于其强大的手册Django Book,该手册已经被翻译为中文。

一个最简单的Django项目可以由下面几个文件组成:
.
|- __init__.py
|- manage.py
|- setting.py
|- urls.py
|- views.py
|- mytemplate.html

运行manage.py文件来启动这个项目的web服务。

1 $ python manage.py runserver 12.12.12.114:8080

首先看url.py文件,这里配置url与视图函数的映射。
下面我设置了三个url,第一个是首页,第三个是从url提取1个参数的情况。

1 from django.conf.urls.defaults import *
2 from lucky.views import index
3 from lucky.views import hello
4 from lucky.views import welcome
5 urlpatterns = patterns('',
6     (r'^$', index),
7     (r'^hello/$', hello),
8     (r'^name/(.+)/$', welcome),
9 )


对url可以进行正则匹配的设计。

1 .   任意单一字符     
2 \d  任意一位数字   
3 [A‐Z]   A 到 Z中任意一个字符(大写)
4 [a‐z]   a 到 z中任意一个字符(小写)
5 +   匹配一个或更多 (例如, \d+ 匹配一个或 多个数字字符)
6 [^/]+   一个或多个不为‘/’的字符
7 *   零个或一个之前的表达式(例如:\d? 匹配零个或一个数字)
8 *   匹配0个或更多 (例如, \d* 匹配0个 或更多数字字符)
9 {1,3}   介于一个和三个(包含)之前的表达式(例如,\d{1,3}匹配一个或两个或三个数字)

然后视图文件,设置每个函数的响应方法,其中welcome视图函数引用了模板文件,该模板中有current_date和your_name两个变量。
current_date是由系统时间函数获得的,your_name是由url的参数获得的。

1 from django.http import HttpResponse
2 from django.template import Template, Context
3 def index(request):
4     return HttpResponse("Welcome!")
5 def hello(request):
6     return HttpResponse("Hello world.")
7 import datetime
8 def welcome(request, param1):
9     fp = open('mytemplate.html')
10     = Template( fp.read() )
11     fp.close()
12     now = datetime.datetime.now()
13     = Context({'current_date': now,'your_name': param1})
14     html = t.render(c)
15     return HttpResponse(html)

模板文件可以将视图和逻辑分离开。

1 <html>
2 <head>
3 <meta charset="UTF-8" />
4 <title>名字</title>
5 </head>
6 <body>
7 <center><br><br><br>
8 <h2>{{ your_name }},欢迎你!</h2>
9 <br><br>
10 当前时间: {{ current_date }}.
11 </center>
12 </body></html>

对于这个项目,可以访问

12.12.12.114:8080

12.12.12.114:8080/hello

12.12.12.114:8080/name/~youname~

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值