如何使用 uuid 访问单个页面?
How can I access to individual page with uuid?
我想为会员创建一个个人网页,并发送一个 link 和 uuid,例如:
https://example.com/app/262976c7-5c9a-46c4-a775-bbad186e
Link 将是唯一的,每个成员都可以查看他们的数据。
"route"(或任何其他方式)是否可能?
如果所有页面都是通过单个控制器操作提供的,UUID 用作 URL arg(即 URL 路径的第一段 after controller function),那么可以通过rewrite system隐藏URL的controller和function部分。 routes.py 文件可能包含如下内容:
routers = dict(
BASE = dict(
default_controller = 'default',
default_function = 'index',
functions = ['index', 'action1', 'action2']
)
)
上面的路由器将隐藏默认控制器和功能 URLs,所以而不是:
https://example.com/app/default/index/262976c7-5c9a-46c4-a775-bbad186e
你将拥有:
https://example.com/app/262976c7-5c9a-46c4-a775-bbad186e
注意,路由器中的 functions
键包含 default.py 控制器中所有功能的列表很重要,这样路由器才能区分功能名称和 URL args,当存在 URL arg 时,它使默认函数(即 index
)从 URL 中隐藏。
有关路由器的更多详细信息,请参阅 example routes.py。
在 default.py 控制器中,index
函数将根据第一个 URL 参数提供页面:
def index():
uuid = request.args(0)
[fetch user specific data based on uuid]
return dict(...)
我想为会员创建一个个人网页,并发送一个 link 和 uuid,例如:
https://example.com/app/262976c7-5c9a-46c4-a775-bbad186e
Link 将是唯一的,每个成员都可以查看他们的数据。 "route"(或任何其他方式)是否可能?
如果所有页面都是通过单个控制器操作提供的,UUID 用作 URL arg(即 URL 路径的第一段 after controller function),那么可以通过rewrite system隐藏URL的controller和function部分。 routes.py 文件可能包含如下内容:
routers = dict(
BASE = dict(
default_controller = 'default',
default_function = 'index',
functions = ['index', 'action1', 'action2']
)
)
上面的路由器将隐藏默认控制器和功能 URLs,所以而不是:
https://example.com/app/default/index/262976c7-5c9a-46c4-a775-bbad186e
你将拥有:
https://example.com/app/262976c7-5c9a-46c4-a775-bbad186e
注意,路由器中的 functions
键包含 default.py 控制器中所有功能的列表很重要,这样路由器才能区分功能名称和 URL args,当存在 URL arg 时,它使默认函数(即 index
)从 URL 中隐藏。
有关路由器的更多详细信息,请参阅 example routes.py。
在 default.py 控制器中,index
函数将根据第一个 URL 参数提供页面:
def index():
uuid = request.args(0)
[fetch user specific data based on uuid]
return dict(...)