django学习笔记3

Posted LOVEwitch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django学习笔记3相关的知识,希望对你有一定的参考价值。

动态URL

目前大多数动态web应用程序,url通常都包含有相关的参数。例如:分页的表格/page/1,/page/20

因此,可考虑使用带通配符点url,通过正则表达式匹配参数,从而调用增加参数的视图函数

本例子中实现当前时间n个小时后的时间

url配置如下

from django.conf.urls import *
from myapp.view import hours_ahead
urlpatterns = [
    url(r^time/plus/(\d{1,2})/$,myapp.view.hours_ahead),
]

url函数中正则表达式的r代表这是原始字符串,不需要处理里面的转义字符。/d表示数字,{1,2}表示1到2个数字

视图函数如下:

def hours_ahead(request, offset):
    try:
        offset = int(offset)
    except ValueError:
        raise Http404()
    dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
    html = "<html><body>In %s hour(s), it will be %s.</body><ml>" % (offset, dt)
    return HttpResponse(html)

通过以上可以看出,网站中的数字为传向hours_ahead的参数


自顶向下的写法先写url再写视图函数,而自底向上的写法先写视图而后挂接到url上

在函数中加入assert False可触发出错页

 

以上是关于django学习笔记3的主要内容,如果未能解决你的问题,请参考以下文章

Django后端开发学习笔记URL调度器

Python-Django框架学习笔记——第二课:Django的搭建

Python 3学习笔记

Django后端开发学习笔记Django基本概念

Django后端开发学习笔记Django基本概念

django学习笔记3