Django URL映射

好了, 到这里为止, 我们已经学会了创建模型, 视图和模板。现在, 我们将了解应用程序的路由。
【Django URL映射】由于Django是一个Web应用程序框架, 因此它通过URL定位器获取用户请求并进行响应。为了处理URL, 框架使用django.urls模块。
让我们打开项目的文件urls.py, 看看它是什么样子:
// urls.py

from django.contrib import adminfrom django.urls import pathurlpatterns = [path('admin/', admin.site.urls), ]

看, Django已经在这里为管理员提到了一个URL。 path函数将第一个参数用作字符串或正则表达式类型的路由。
view参数是一个视图函数, 用于将响应(模板)返回给用户。
django.urls模块包含各种功能, path(route, view, kwargs, name)是用于映射URL并调用指定视图的功能之一。
Django URL函数在这里, 我们提供了一些常用的URL处理和映射功能。
Name 描述
path(route, view, kwargs=None, name=None) 它返回要包含在urlpatterns中的元素。 路径(’ index /’ , views.index, name =’ main-view’ )
re_path(route, view, kwargs=None, name=None) 它返回要包含在urlpatterns中的元素。 re_path(r’ ^ index / $’ , views.index, name =’ index’ ),
include(module, namespace=None) 此函数采用完整的Python导入路径到另一个URLconf模块, 该模块应在此位置“包括”。
register_converter(converter, type_name) 它用于注册在path()路由中使用的转换器。
让我们看一个示例, 该示例获取用户请求并映射该路由以调用指定的视图函数。看一下步骤。
1.在views.py文件中创建一个函数hello。该功能将从url.py文件映射。
// views.py
from django.shortcuts import render# Create your views here.from django.http import HttpResponse, HttpResponseNotFoundfrom django.views.decorators.http import require_http_methods@require_http_methods(["GET"])def hello(request):return HttpResponse('< h1> This is Http GET request.< /h1> ')

// urls.py
from django.contrib import adminfrom django.urls import pathfrom myapp import viewsurlpatterns = [path('admin/', admin.site.urls), path('index/', views.index), path('hello/', views.hello), ]

现在, 启动服务器, 并在浏览器中输入localhost:8000 / hello。该URL将被映射到URL列表中, 然后从视图文件中调用相应的函数。
在此示例中, hello将被映射并从views文件中调用hello函数。这称为URL映射。

    推荐阅读