当前位置:   article > 正文

【Django】Django路由urls详解_django初步--+urls解析

django初步--+urls解析

例 :

urlpatterns = patterns('',

  url(r'^hello/$',hello),

)

我们在写URL时实际上写的是正则表达式,尖号(^)和美元符号($),都是正则表达式符号,分别表示字符串的开头和结尾。如上面添加的('^hello/$')表示只有以hello/开头和结尾的url才可以调用hello函数。
 

传参
方式一:?形式的参数


通过request.GET.get(参数名)方法接受参数,路由设置为path('index',调用函数名[不带括号])

app/views.py文件中代码如下:

  1. # 视图函数
  2.  
  3. def index(request):
  4.  
  5.     name = request.GET.get('name', '')
  6.  
  7.     age = request.GET.get('age', '10')
  8.  
  9.     print(name, age)
  10.  
  11.     return HttpResponse('hello aqin~')


app/urls.py代码如下:

  1. from django.urls import path
  2.  
  3. from .views import index
  4.  
  5.     urlpatterns = [
  6.  
  7.         path('index', index),
  8.  
  9.     ]


在浏览器中输入http://localhost:8000/index?name=aqin&age=88传递参数name和age

PyCharm中的控制台应得到如下输出:

方式二:分隔符形式的参数
通过def(request,参数名,参数名)接收参数,路由设置为path('index/<str:name>/<int:age>',调用函数名[不带括号])

app/views.py文件中代码如下:

  1. # 视图函数
  2. def index(request, name, age):
  3. # name = request.GET.get('name', '')
  4. # age = request.GET.get('age', '10')
  5. print(name, age)
  6. return HttpResponse('hello aqin~')


app/urls.py代码如下:

  1. from django.urls import path
  2.  
  3. from .views import index
  4.  
  5. urlpatterns = [
  6.  
  7.     # path('index', index),
  8.  
  9.     path('index/<str:name>/<int:age>', index),
  10.  
  11. ]


index/<str:name>/<int:age> 参数说明

  • str 字符串类型(匹配任何非空非斜杠)
  • int 整型(匹配任何自然数)

在浏览器中输入http://localhost:8000/index/aqin/88

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/1016934
推荐阅读
相关标签
  

闽ICP备14008679号