【问题标题】:Base layout does not load when accepting dynamic url接受动态 url 时不加载基本布局
【发布时间】:2021-11-10 09:34:46
【问题描述】:

我正在将 web.py 用于 Web 项目。我有以下网址结构

urls = (
    '/', 'Home',
    '/register','Register',
    '/postregistration', 'PostRegistration',
    '/login', 'Login',
    '/check-login', 'CheckLogin',
    '/logout', 'Logout',
    '/post-activity', 'PostActivity',
    '/profile/(.*)/info', 'userInfo',
    '/profile/(.*)', 'Profile',
    '/abcd', 'abcd'
    )

一切正常,但是当我尝试访问具有动态链接(如“/profile/anything”)的页面时,我的网页加载时没有在基本布局中添加 css 和 js。在检查和检查来源时,我注意到在这些 url 上,我的所有 css 和 js 文件都包含 html 内容。

【问题讨论】:

  • 在 CSS 链接中,将反斜杠替换为正斜杠,并在开头添加一个额外的。
  • 是的,这就是问题

标签: javascript python web web.py


【解决方案1】:

我将在静态文件中看到的代码是您从 any url 端点提供的 HTML。

static/ URL 正在通过您的任何 URL 解析,因为它们不是以绝对路径开头的。这是一个 CSS 链接的示例,我可以在屏幕截图中看到:

<link href='static\css\profile.css'>(相对于当前路径)

应该看起来更像:

<link href='/static/css/profile.css'>(绝对来自服务器根目录)

这同样适用于您的 JS。更多关于相对路径的信息可以在这里阅读:Relative path in HTML

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 2011-11-28
    相关资源
    最近更新 更多