Django资料之路由系统

◆ 基本路由

url(r'^index/', views.index) #url匹配index后调用views中的index方法(http://127.0.0.1:8000/robot/index/)
url(r'^robot/', include("slave.urls")) #url匹配robot后调用salve的urls。

◆ 路由系统,URL

1、url(r'^index/', views.index), url(r'^home/', views.Home.as_view()),
2、url(r'^detail-(\d+).html/', views.detail),
3、url(r'^detail-(?P\d+).html/', views.detail),  #推荐使用。参数可以是*args(*args为元组),**kwargs (参数是键值对,**kwargs为字典)

对应的后端方法:

def detail(request,*args,**kwargs):
   pass

实战:

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

def func(request,nid,uid):  #不要用id,id()显示内存地址
  pass

def func(request,*args,**kwargs):
  agrs = (2,9)
url(r'^detail-(?P\d+).html/', views.detail)

def func(request,nid,uid):
  pass

def func(request,*args,**kwargs):
  kwargs = {'nid':1,'uid':3}

4、name
对url路由的关系进行命名,以后可以根据此名称生成自己想要的url
url(r’^index/’, views.index,name=’i1’)
url(r’^index/(\d+)/(\d+)/’ views.index,name=’i2’)
url(r’^index/?P(\d+)/?P(\d+)/’ views.index,name=’i3’)

def func(request,*args,**kwargs):
from django.urls import reverse

url1 = reverse(‘i1’)
url2 = reverse(‘i2’ agrs=(1,2,))
url1 = reverse(‘i3’,kwargs = (‘pid’:3,’nid’:5))

模板语句:
{% url “indexx” %}
{% url “indexx” 1 2%}
{% url “indexx” pid=1 nid=2%}

注:request.path.info #当前url

5、
urlpatterns = [
url(r’^cmdb/’, include(“app01.urls”)),
url(r’^monitor/’, include(“app02.url”)),
]

6、默认值
/wupeiqi/articles/5237704.html/

猜你喜欢

转载自blog.csdn.net/sky6even/article/details/80767821
今日推荐