好了, 到这里为止, 我们已经学会了创建模型, 视图和模板。现在, 我们将了解应用程序的路由。
由于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映射。
srcmini
评论前必须登录!
注册