1、使用正则表达式进行URL匹配
urlpatterns = patterns(‘‘, # ... (r‘^time/plus/\d+/$‘, hours_ahead), # ... )
(1)使用r代表字符串是原始字符串,表示python不会对立面的反斜杠\转义符进行处理,使用正则表达式一般使用原始字符串。
(2)使用\d+表示匹配1个或者多个数字,如果限定只能使用两个数字,则\d{1,2}。
(3)如果要把正则表达式的某个数作为参数,则用小括号包起来,如(r‘^time/plus/(\d{1,2})/$‘, hours_ahead)。
2、使用timedelta来计算时间差
dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
timedelta代表一个时间差,如果用两个datetime对象相减也可以获得一个timedelta。除此之外,可以使用hours,minutes,seconds,weeks等参数来自定义时间差。把datetime对象加减一个timedelta就可以获得一个时间点之前或者之后特定时间差的时间点了。
3、异常处理格式
try: offset = int(offset) except ValueError: raise Http404()
使用try,except xxx: raise xxx()的格式进行异常处理。