📅  最后修改于: 2020-12-31 00:37:20             🧑  作者: Mango
好了,到这里为止,我们已经学会了创建模型,视图和模板。现在,我们将了解应用程序的路由。
由于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并调用指定视图的功能之一。
在这里,我们提供一些用于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映射。