📜  Django URL映射

📅  最后修改于: 2020-12-31 00:37:20             🧑  作者: Mango

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 Description Example
path(route, view, kwargs=None, name=None) It returns an element for inclusion in urlpatterns. path(‘index/’, views.index, name=’main-view’)
re_path(route, view, kwargs=None, name=None) It returns an element for inclusion in urlpatterns. re_path(r’^index/$’, views.index, name=’index’),
include(module, namespace=None) It is a function that takes a full Python import path to another URLconf module that should be “included” in this place.
register_converter(converter, type_name) It is used for registering a converter for use in path() routes.

让我们看一个示例,该示例获取用户请求并映射该路由以调用指定的view 函数。看一下步骤。

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('

This is Http GET request.

')

// 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映射。