python - 找不到用于动态路由的 Flask CSS
问题描述
- 我对两条路线使用相同的 html 文件。
- 其中一条路由是静态的,而另一条路由是动态的。
- 静态路由加载页面没有任何问题,但动态路由在加载 css 文件时显示页面未找到错误。
示例代码:
WORKFLOW_DIAGRAM = Blueprint('workflow_diagram', __name__)
@WORKFLOW_DIAGRAM.route('/workflow-diagram', methods=['GET'])
def show_workflow():
return render_template('workflow.html')
@WORKFLOW_DIAGRAM.route('/workflow/<workflow_id>', methods=['GET'])
def show_workflow_with_id(workflow_id):
return render_template('workflow.html')
在到达第一条路线时,它会从中获取 css,
assets/a.css
在到达第二条路线时,它会从中获取 css,
workflow/assets/a.css
那么如何更改路线以使用路径assets/a.css
解决方案
您可以通过在layout.html
文件中显式引用它们来指示要使用的静态文件request.endpoint
。
{% if request.endpoint == 'show_workflow_with_id' %}
<link href="{{ url_for('static/assets/', filename='a.css') }}" rel="stylesheet" type="text/css">
{% endif %}
推荐阅读
- django - 使用 Django 检查 firebase DB 中是否存在值
- next.js - PostGraphile:makeExtendSchemaPlugin 中的 pgSettings user.id
- sql - Teradata/SQL - 根据重复的列值返回整行
- json - 如何在 VB.Net 中使用模式验证 JSON 文件?
- python - 从父类实例创建子类实例,并从子类实例调用父方法
- eclipse - 无法从 Eclipse 登录到 Azure
- salesforce-lightning - 如何为计量闪电应用程序设置默认 IP 和端口
- ios - 带有 Flutter 构建的 iOS Sourcery
- javascript - 如何在 Cognos 中刷新数据?
- javascript - Svelte - 在滚动时隐藏和显示导航