python Django 路由之正则表达式

一、路由系统,URL

  1. url(r'^index',views.index) #默认的                  url(r'^home',views.Home.as_view()) # CBV 形式 也就是说 class

  2.url(r'^detail-(d+).html', views.detail),       # 在views里 def  home(request, nid, uid) 这两个参数不能调换循序    #http://www.baidu.com/detail-2-8.html   2是nid   8是uid

  3.url(r'^detail-(?P<nid>d+)-(?P<uid>d+).html', views.detail)   #多个正则  在views里 def  home(request, nid, uid) 这两个参数可以没有顺序

    PS :

      url(r'^detail-(d+).html', views.detail), 

      def    detail(request, *args, **kwargs)   这种方式可以替换   def    detail(request,nid,uid)

    实战:

     a.

      url(r'^detail-(d+)-(d+).html', views.detail),

      def func(request, nid, uid):

      def func(reuqest, *args):

      def func(request, *args, **kwargs)

     b.

      url(r'^detail-(?P<nid>d+)-(?P<uid>d+).html', views.detail)

      def func(request, nid, uid):

      def func(request, **kwargs): #或者 *args **kwargs 这样的话就有一个没有值的

        kwargs= {'nid':1, 'uid':3}

原文地址:https://www.cnblogs.com/yooma/p/8005968.html