Django-定义视图函数并路由匹配
2022-08-23 本文已影响0人
测试探索
一:在子应用下的views.py定义视图函数
视图函数有两个要求:
1:视图函数的第一个参数就是接收请求,这个请求其实就是HttpRequest的类对象
2:必须返回一个响应
from django.shortcuts import render
# Create your views here.
"""
视图
所谓的视图 其实就是python函数
视图函数有两个要求:
1:视图函数的第一个参数就是接收请求,这个请求其实就是HttpRequest的类对象
2:必须返回一个响应
"""
from django.http import HttpRequest
from django.http import HttpResponse
# 期望用户输入http://127.0.0.1:8000/index/
# 来访问视图函数
def index(request):
return HttpResponse("ok")
二:路由匹配
1-2:在项目的url配置文件,bookmanager/urls.py进行路由配置
image.png"""bookmanager URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from book.views import index
urlpatterns = [
path('admin/', admin.site.urls),
#path(路由,视图函数名)
path('index/',index),
]
image.png
视图-路由-返回运行闭环
2-2:为解决项目的url配置文件路径过多的问题,在子应用下创建urls.py进行路径配置
bookmanager.urls.py进行更改
"""bookmanager URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path,include
from book.views import index
urlpatterns = [
path('admin/', admin.site.urls),
#path(路由,视图函数名)
# path('index/',index),
path('blog/', include('book.urls'))
]
增加book/urls.py
from django.urls import path
from book.views import index
#固定写法 urlpatterns =[]
urlpatterns = [
#path(路由,视图函数名)
path('index/',index),
]
如果需要输入12.0.0.1:8000/index/即获取结果,则bookmanager/urls.py文件,下 path('', include('book.urls'))编写即可
结果