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'))编写即可

结果
上一篇 下一篇

猜你喜欢

热点阅读