Django入门2:路由系统
2017-09-29 14:06
357 查看
1、单一路由对应
url(r'^index/', views.index), # FBV
url(r'^home/', views.Home.as_view()), # CBV
2、基于正则的路由
实例1:实现 ?nid={{ id }}的url:
views.py
在url中添加额外的参数后,在对应的视图函数中必须设置相应的形式参数name。在执行该方法时会自动传入默认值‘root'作为实参。
6、命名空间
a. project.urls.py
b. app01.urls.py
c. app01.views.py
以上定义带命名空间的url之后,使用name生成URL时候,应该如下:
v = reverse('author-polls:detail', kwargs={'pk':11})
{% url 'author-polls:detail' pk=11 %}
django中的路由系统和其他语言的框架有所不同,在django中每一个请求的url都要有一条路由映射,这样才能将请求交给对一个的view中的函数去处理。其他大部分的Web框架则是对一类的url请求做一条路由映射,从而是路由系统变得简洁。
url(r'^index/', views.index), # FBV
url(r'^home/', views.Home.as_view()), # CBV
2、基于正则的路由
1 url(r'^detail-(\d+).html', views.detail), 2 3 url(^'^detail-(\d+)-(\d+).html',views.detail), 4 ''' 5 严格按照位置参数的顺序传入参数,如果在实际环境中,def detail(request,nid,uid)在定义时,参数的指定出现差错,则会导致下面的对参数的引用出现错误。 6 ''' 7 8 url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail), 9 ''' 10 传参时确保了nid=第一个传入的位置参数,uid=第二个传入的位置参数。 11 '''
实例1:实现 ?nid={{ id }}的url:
1 def index(request,name): 2 print(name) 3 return HttpResponse('OK')
views.py
在url中添加额外的参数后,在对应的视图函数中必须设置相应的形式参数name。在执行该方法时会自动传入默认值‘root'作为实参。
6、命名空间
a. project.urls.py
v = reverse('author-polls:detail', kwargs={'pk':11})
{% url 'author-polls:detail' pk=11 %}
django中的路由系统和其他语言的框架有所不同,在django中每一个请求的url都要有一条路由映射,这样才能将请求交给对一个的view中的函数去处理。其他大部分的Web框架则是对一类的url请求做一条路由映射,从而是路由系统变得简洁。
相关文章推荐
- Django之路由系统
- 【学以致用】Django之(URL)路由系统
- Django(四)、URL路由系统
- Django之路由系统
- Django-Rest frameworw之路由系统
- Django基础学习三_路由系统
- 13.Django之url路由系统初探(一)
- 13.django入门01(django入门初探视图,模板,路由)
- django上课笔记1-目录介绍-路由系统-ORM操作
- Django入门指南-第2部分(系统设计)
- Django学习系列之路由系统
- Django之路由、模板和模型系统
- Django进阶(路由系统、中间件、缓存、Cookie和Session、Ajax发送数据
- Django之路由分配系统
- Django-路由系统
- 自动化运维Python系列之Django路由系统、Ajax请求
- django学习笔记整理(2)django的路由系统
- Django基础之路由系统
- Django(二)路由系统、视图、模板
- Python Django之路由系统