创建路由组时,“名称”和“前缀”之间有什么区别

2024-10-03 06:18:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个代码片段,但我不确定prefixname在组参数上有什么区别

group([
    #Get().route('/', 'WelcomeController@show').name('welcome'),
    get('/', 'PostController@show').name('form'),
    post('/store', 'PostController@store').name('create')
], prefix='blog.', name="blog."])

Tags: store代码name参数getprefixshowgroup
1条回答
网友
1楼 · 发布于 2024-10-03 06:18:29

前缀实际上是路由本身的前缀,name只是在组内所有路由的名称前面加上名称

以此为例:

group([
  get('', 'PostController@show').name('form'),
  get('/create', 'PostController@create').name('create'),
], prefix='/blog', name="blog."])

这个代码段所做的是创建两个路由来匹配/blog/blog/create的URL,但也在诸如blog.formblog.create等路由的名称前面加上前缀

路由的名称可用于重定向:

def show(self, request: Request):
    request.redirect_to('blog.create') #== /blog/create

或者生成如下URL:

<a href="{{ route('blog.create') }}">Link</a>

它生成与上面相同的URL

相关问题 更多 >