应用准备

  1. # 终端创建 front应用
  2. python manage.py startapp front

URL 映射

普通路径

  1. from django.http import HttpResponse
  2. def users(request):
  3. return HttpResponse('用户首页')
  1. from front.views import users
  2. urlpatterns = [
  3. path('admin/', admin.site.urls),
  4. path('user/', users) # 注意此处路由设置了路径
  5. ]
  1. # 终端运行
  2. python manage.py runserver
  3. # 客户端访问
  4. http://127.0.0.1:8000/user/ # 访问地址时根据路由地址书写对应的路径,否则无法访问

image.png

查询路径

在路径中,不需要单独的匹配查询字符串的部分,只需要在视图函数中使用 request.GET.get(‘参数名称’) 的方式来获取

  1. from django.http import HttpResponse
  2. def get_kw(request):
  3. kw = request.GET.get('id')
  4. text = f'您获取的关键词是 {kw}'
  5. return HttpResponse(text)
  1. from front.views import get_kw
  2. urlpatterns = [
  3. path('kw/', get_kw)
  4. ]

image.png

查询参数

  1. # 设置形如:www.baidu.com/?xxx&xxx 路径
  2. @app.get('/search')
  3. def get_msg(title: str, page: int):
  4. return {'title': title, 'page': page}
  5. ------------------------------------------------
  6. >>> 127.0.0.1:8000/search?page=2&title=kuma # 在 /search 后添加 ?page=2&title=kuma 查看结果

必须传递参数,且传递的参数要与函数中参数名称一致;查询参数的顺序与多组参数传递不一样,可以不按顺序,因为值由对应的 key 决定

可选参数

  1. # 业务函数设置默认值
  2. @app.get('/get')
  3. def get_msg(name: str=None, age: int=24):
  4. return {'name': name, 'age': age}
  5. # 路径参数不可以设置默认值

业务函数参数的默认值可以指定; 路径参数没有默认值,查询参数可以设置默认值

混合参数

数据校验