我将详细讲解"Django零基础入门之路由path和re_path详解"的完整攻略,包括两条示例说明.
Django路由是负责将 URL 转化为视图的函数或方法的机制.路由将 URL 映射到相应的视图上,以处理用户发出的请求. Django路由规则都存储在每一个应用的 urls.py 文件中.
from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.say_hello, name='hello'),
]
path() 函数接收两个必需的参数:路由规则和视图函数.
第三个参数是一个可选的参数,表示该 URL 的 name 属性.
URL 路由中的末尾斜杠非常重要,如果在 URL 的字符串末尾添加了一个斜线,它会导致 Django 无法匹配 URL.
当path() 无法满足你的路由需求时,就可以用到 re_path() 函数.它接受的第一个参数是正则表达式,后面的参数可选.其中,第二个参数是视图函数,之后是 URL 的 name 属性.如下所示:
from django.urls import re_path
from . import views
urlpatterns = [
re_path(r'hello/(?P\w◆)/', views.say_hello, name='hello'),
]
正则表达式中的 name 是一个特殊的行为,它告诉 Django 提取匹配 URL 的部分并作为参数发送给视图函数.例如,上面土嘎嘎给出的例子源码中,say_hello() 视图会接收到名为 name 的参数.
此时此刻呢,我将介绍两个示例,用来说明 path 路由和 re_path 路由的具体用法.
在 urls.py 文件中添加如下路由:
from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.say_hello, name='hello'),
]
在 views.py 文件中添加如下视图:
from django.http import HttpResponse
def say_hello(request):
return HttpResponse('Hello World!')
from django.urls import re_path
from . import views
urlpatterns = [
re_path(r'hello/(?P\w◆)/', views.say_hello, name='hello'),
]
from django.http import HttpResponse
def say_hello(request, name):
return HttpResponse(f'Hello {name.capitalize()}!')
这就是本篇攻略的全部内容.希望本文能够帮助你了解 Django 中路由的用法.
以上就是土嘎嘎小编为大家整理的Django零基础入门之路由path和re_path详解相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!