使用金字塔为URL缩短器添加路由

2024-04-25 15:26:46 发布

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

我正在创建一个使用金字塔的网址缩写器。我将短URL和长URL存储在数据库中。现在我的问题是如何创建从短url到长url的动态链接。 两个URL都正确构造。你知道吗

我用什么config.add\u路由?如果是,我该怎么做?有更好的办法吗? 我能做这个吗?你知道吗

config.add_route(short_url, long_url)

Tags: addconfig数据库url路由链接动态route
1条回答
网友
1楼 · 发布于 2024-04-25 15:26:46

您可以配置单个路由。第一个参数是路由的名称,第二个参数是用于匹配请求的模式。你知道吗

config.add_route('short_url', '/{short_url}')
config.scan()

然后添加一个视图来处理请求,获取short_url的matchdict值,在数据库中查找,然后返回重定向响应。你知道吗

@view_config(route_name='short_url')
def url_expander(request):
    short_url = request.matchdict['short_url']
    # verify short_url is a valid format you define before doing a db query
    # your db query code to find long_url
    # SELECT long_url FROM t WHERE short_url=short_url
    # handle case of no match in db
    return HTTPFound(location=long_url)

参见文档https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/urldispatch.html#routing-exampleshttps://docs.pylonsproject.org/projects/pyramid/en/latest/narr/views.html#using-a-view-callable-to-do-an-http-redirect中的示例。你知道吗

相关问题 更多 >