Django教程-Django URL映射
我们已经学会了创建模型、视图和模板。现在,我们将了解应用程序的路由。
由于 Django 是一个 Web 应用程序框架,它通过 URL 定位器获取用户请求并做出响应。为了处理 URL,框架使用django.urls模块。
让我们打开项目的urls.py文件,看看它是什么样子的:
// url.py
from django.contrib import adminfrom django.urls import pathurlpatterns = [path('admin/', admin.site.urls),]
Django 已经在这里为管理员提到了一个 URL。路径函数将第一个参数作为字符串或正则表达式类型的路由。
view 参数是一个视图函数,用于向用户返回响应(模板)。
django.urls模块包含各种函数,path(route,view,kwargs,name)是用于映射 URL 并调用指定视图的函数之一。
Django URL 函数
在这里,我们给出一些常用的 URL 处理和映射函数。
| Name | Description | Example |
|---|---|---|
| path(route, view, kwargs=None, name=None) | 它返回一个包含在 urlpatterns 中的元素。 | path('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) | 它是一个函数,它采用另一个 URLconf 模块的完整 Python 导入路径,该模块应该“包含”在这个位置。 | |
| register_converter(converter, type_name) | 它用于注册在 path() 路由中使用的转换器。 |
让我们看一个获取用户请求并映射该路由以调用指定视图函数的示例。看看步骤。
1.在views.py文件中创建函数hello 。该函数将从 url.py 文件映射。
// 视图.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>')
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 并从视图文件中调用 hello 函数。这称为 URL 映射