如何在Shiny for Python中创建可点击的URL链接?
解决Shiny for Python中显示可点击链接的问题
你的代码存在两个关键问题,导致HTML代码被当作纯文本输出:
- 组件类型不匹配:
ui.output_text和@render.text是用于渲染纯文本的组件,会自动转义所有HTML内容,因此你的链接代码被原样显示。 - HTML语法错误:
<a>标签的href属性写法错误,应直接嵌入到<a>标签内部,而非拆分书写。
修正方案一:使用UI渲染组件+正确HTML语法
app_ui = ui.page_fluid( # 替换output_text为output_ui,用于渲染UI/HTML内容 ui.output_ui("the_txt") ) def server(input, output, session): # 替换render.text为render.ui,支持返回HTML或UI组件 @render.ui def the_txt(): url = 'https://stackoverflow.com' # 修正a标签语法,将href属性放入标签内 clickable_url = f'<a href="{url}" target="_blank">Click here</a>' return ui.HTML(clickable_url)
修正方案二:使用Shiny内置的ui.a组件(更推荐)
无需手动编写HTML,直接用Shiny提供的链接组件:
app_ui = ui.page_fluid( ui.output_ui("the_txt") ) def server(input, output, session): @render.ui def the_txt(): return ui.a("Click here", href="https://stackoverflow.com", target="_blank")
内容的提问来源于stack exchange,提问作者endive1783
相关产品推荐
相关产品推荐

