django urls

路由层:
 
from django.contrib import admin
from django.urls import path
from django.conf.urls import include , url
from view_app import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/',views.index),
    url(r'^HttpResponse_test/',views.HttpResponse_test),
    url(r'^render_test/',views.render_test),
    url(r'^render_test_1/', views.render_test_1),
    url(r'^get_user/([a-z]+)/(\d+)/', views.get_user),
    url(r'^get_user/([a-z]+)/', views.get_user),
]
静态路由
  
   匹配流程:
     1.urls.py 文件下
  2.查找全局变量:urlpatterns
     urlpatterns:列表,url函数的实例
  3.从上到下进行匹配,找到一个匹配就去拿取到对应的视图函数
  4.匹配不到:404错误
 
url(regex,view,prefix,name)
    
  regex:路由映射关系的匹配正则
  view:对应的视图函数
     1.直接是一个导入的视图函数
  2.视图函数的路径字符串
  prefix:路径前缀,声明 当前指明视图函数路径字符串是属于哪个app的
  name:为映射关系,起别名
 
      
 
路由动态
   可以把一些参数放在 连接里,而不是 以get形式 传参
   1.构建视图函数,视图函数按照顺序位置定义参数
   2.路由映射中根据顺序以一定的正则匹配方式,用括号包装参数
   3.如果映射匹配,那么连接中的参数会作为视图函数的参数
      直接把要传递的东西放在连接里
  
   连接中的参数全部都是字符串,虽然判断的时候是由类型的
  
    #url(r'^get_user/([a-z]+)/(\d+)/', views.get_user), # 位置传参
    #url(r'^get_user/([a-z]+)/', views.get_user),
    url(r'^a/',views.a),
    url(r'^get_user/(?P<age>\d+)/(?P<name>[a-z]+)/', views.get_user), # 指定传参 
 
posted @ 2018-08-27 08:07  albert11  阅读(74)  评论(0编辑  收藏  举报