个性化阅读
专注于IT技术分析

Django URL映射

好了, 到这里为止, 我们已经学会了创建模型, 视图和模板。现在, 我们将了解应用程序的路由。

由于Django是一个Web应用程序框架, 因此它通过URL定位器获取用户请求并进行响应。为了处理URL, 框架使用django.urls模块。

让我们打开项目的文件urls.py, 看看它是什么样子:

// urls.py

from django.contrib import admin
from django.urls import path

urlpatterns = [
    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, HttpResponseNotFound  
from 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 admin  
from django.urls import path  
from myapp import views  
urlpatterns = [  
    path('admin/', admin.site.urls), path('index/', views.index), path('hello/', views.hello), ]

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

在此示例中, hello将被映射并从views文件中调用hello函数。这称为URL映射。

赞(0)
未经允许不得转载:srcmini » Django URL映射

评论 抢沙发

评论前必须登录!