urls参数
嵌套参数
views.py
def url_index(request, index): return HttpResponse(“返回的参数名是index,它的值是: {}”.format(index))
- 运行<br /><a name="2171d1b0"></a>### 默认参数- 可以给视图函数的传递参数设置一个默认值,这样`path()`中传递的参数就可以不用写```python# urls.pyurlpatterns = [path('default/', v.default_param),path('default/<int:param>', v.default_param),]
#views.pybook = ["页面1","页面2","页面3","页面4",]def default_param(request, param=0):return HttpResponse(book[param])
- 运行

传递额外参数
views.py
def url_extra(request, extra): return HttpResponse(“返回的额外参数名是extra, 它的值是: {}”.format(extra))
- 运行<br /><a name="cb71799e"></a>### 查询字符串- 在URL中,不需要单独的匹配查询字符串的部分。只需要在视图函数中使用`request.GET.get("参数名")`的方式来获取 。因为查询字符串使用的是`GET`请求,所以我们通过`request.GET`来获取参数,并且因为`GET`是一个类似于字典的数据类型,获取值的方式和字典一样。```python# urls.pypath('app/query/', v.url_query),#views.pydef url_query(request):variable = request.GET.get("id") # 获得键id所对应的值return HttpResponse("返回的查询字符串是: {}".format(variable))
- 运行

url的反向编码
- 防止硬编码
- 本质上是对每一个url进行命名
- 以后在编码代码中使用中URL的值,原则上都应该使用反向解析
# urls.pypath('app/reverse/', v.url_reverse, name="jack"),# views.pyfrom django.urls import reverse #从1.10.*开始从django.urls包导入def url_reverse(request):url_name = reverse("jack")return HttpResponse("返回的url是: {}".format(url_name))
- 运行

此时更改URL
path('app/R/', v.url_reverse, name="jack"),
- 运行

