DJANGO book学些笔记之:URLConf技巧
来源:互联网 发布:有网络app store连不上 编辑:程序博客网 时间:2024/06/06 10:44
1,多个视图函数的前缀相同时,考虑提取共同部分
2,按照视图前缀将url分组,每个组具有共同的view函数前缀,多组urlpartern可相加
3,根据setting中DEGUG选项值,可以设置某个url是否被加入到URLConf中去(仅是个示例,可类推)
4,可以在url正则表达式中,将匹配到的路径参数命名,就可以为向view函数以参数形式传递(非命名形式)
5,一旦使用了命名的url匹配,非命名组将无效???
6,可在urlpatern构造时,可直接为view函数传递参数(eg:传递参数为模版名称,可根据url动态调用模版)
7,一个视图函数可以被多个路径匹配,这里没有限制
8,捕捉值和额外传递的给view的参数,如果相同,则捕捉值无效
9,可以将model参数传入到view函数中,以提供通用的视图
def object_list(request, model):
obj_list = model.objects.all()
template_name = 'mysite/%s_list.html' % model.__name__.lower()
return render_to_response(template_name, {'object_list': obj_list})
10,可在urlpatern构造时,为view函数传递参数,进而将其传递到template中,作为模版的配置选项参数(使用实例技巧)
11,在view函数中,可设置某些参数的默认值,当此参数没有被传入时,使用默认值
12,/start/{**}/end,当需要这种模式,但/start/spec/end/例外时,可将此写在urlparten的前面先匹配
13,即便你的url中匹配的是数字或其他类型,传递给view函数的都是文本
14,辨别请求的方法(get/post/…)是view函数该干的活,视图函数可解析request,得到请求的为get还是post;解耦技巧:
def method_splitter(request, GET=None, POST=None):
if request.method == 'GET' and GET is not None:
return GET(request)
elif request.method == 'POST' and POST is not None:
return POST(request)
raise Http404
def some_page_get(request):
assert request.method == 'GET'
do_something_for_get()
return render_to_response('page.html')
def some_page_post(request):
assert request.method == 'POST'
do_something_for_post()
return HttpResponseRedirect('/someurl/')
# urls.py
from django.conf.urls.defaults import *
from mysite import views
urlpatterns = patterns('',
# ...
(r'^somepage/$', views.method_splitter, {'GET': views.some_page_get, 'POST': views.some_page_post}),
# ...
)
15,当视图函数都有一个共同的逻辑段时(如判断用户权限),考虑使用注解
16,urlconf还可以分层实现,在上层中url中include下层urlpatern
17,上下多层的urlpartern的正则式组合起来匹配整个请求路径,因此要注意格式
18,上层urlparten传递传递过来的参数,将传递给下层urlparten的每一个view函数
这个技术只有在你确实需要那个被传递的额外参数的时候才显得有用。因为这个原因,这种技术仅当你确信在涉及到的接受到额外你给出的选项的每个URLconf时有用的才奏效
- DJANGO book学些笔记之:URLConf技巧
- URLConf技巧-django
- Django的URLConf技巧
- Django的URLConf技巧
- Django笔记-URLConf Views
- Django笔记-URLConf Views
- django urlconf
- Django开发实战之URLconf详解
- Django开发实战之URLconf详解
- django book学习笔记
- [urls.py设置技巧]Django是如何处理URLconf的?
- 《The Django Book 2.0》中文版笔记
- 《The Django Book》笔记(未完结)
- Django学习笔记1(Django Book 前3章)
- URLconf+MTV:Django眼中的MVC
- Python网络编程07----Django中的URLconf
- Django是如何处理URLconf的?
- URLconf+MTV:Django眼中的MVC
- SVN单机版配置
- TDD与FDD技术对比
- 【D3.js数据可视化系列教程】(三十五)-- 矩形树
- 如何获取设备唯一标识
- 1.1.1 编译、运行程序【C++ Primer中文版(第5版)】
- DJANGO book学些笔记之:URLConf技巧
- 1782:谁是你的潜在朋友
- 不要被阶乘吓倒(二进制表示中最低位1的位置 )
- 1782:谁是你的潜在朋友
- 2013-12-5关于指针的一个注意
- php.ini详解
- SPI总线协议介绍
- 密切关注你的NTFS驱动器(一):Windows 2000 下更改日志的讲解
- 静态库制作