首页 > 代码库 > [python]学习Django中的python知识拾遗

[python]学习Django中的python知识拾遗

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()的格式进行异常处理。