客户端通过url向后端传递参数

在前端我们不仅可以通过get请求携带参数的方式向服务端传数据;

https://127.0.0.1/index/?id=1&name=alex

Django也允许通过,path路径的方式向server端传值;

注意事项:按位置,和按关键字路由系统只能用1种,不能混合使用;

1 path 正则无名分组匹配----->视图函数按位置传递参数

按位置传参形参或实参错位会导致数据错乱,所以Django路由分发系统还可以以命名分组的形式匹配URL给视图函数按关键字传参;

 1 from django.conf.urls import url,includefrom app1 import views
 2 urlpatterns = [
 3  url(r'^index/(P<n1>\w+)/(P<n2>\w+)/',views.index,name="index"),
 4  ] #注意如果在路由系统正则内部定义了关键字n1,n2,视图函数接收参数也必须是 n1,n2;
 5 
 6 
 7 #在视图函数定义2个关键字参数, 接收 2个正则表达式匹配到的后缀;
 8 def index(request,n1,n2):
 9    print(n1,n2) #注意必须和 路由系统中的一致
10    return HttpResponse('OK')

2、URL path传值应用

有了动态路由就 可以不用在  url?nid=8这样传值了!

终止符:^editURLurl(redit/(\w+).html可以精确限制匹配URL的后缀内容伪静态:url(r′edit/(\w+).html', views.edit)  装作成静态网站的url可以 提高 SEO高权重   百度排名靠前:

url(r'^student_del/(.*).html/',views.student_del),
<a href="/student_del/{{row.id}}.html/">删除</a></td>

猜你喜欢

转载自www.cnblogs.com/lmh001/p/9206112.html