无法使用python包web.py only HTML显示服务本地静态CSS文件

无法使用python包web.py only HTML显示服务本地静态CSS文件,python,html,css,static,web.py,Python,Html,Css,Static,Web.py,我目前正在学习python课程,当页面加载时,它将不会显示任何CSS 我的Controller.py位于根目录D:\Coding\Python\u Projects\py\code向导 我的CSS文件位于D:\Coding\Python\u Projects\Py\code向导\static\CSS 我的HTML文件位于D:\Coding\Python\u Projects\Py\code向导\Views\Templates Controller.py import web urls = (

我目前正在学习python课程,当页面加载时,它将不会显示任何CSS

我的Controller.py位于根目录
D:\Coding\Python\u Projects\py\code向导

我的CSS文件位于
D:\Coding\Python\u Projects\Py\code向导\static\CSS

我的HTML文件位于
D:\Coding\Python\u Projects\Py\code向导\Views\Templates

Controller.py

import web


urls = (
    '/', 'home'
    )

render = web.template.render("Views/Templates", base="MainLayout")
app = web.application(urls, globals())


# Classes/Routes
class home:
    def GET(self):
        return render.home()


if __name__ == "__main__":
    app.run()
MainLayout.html:

$def with (page)
$var css: \\static\css\bootstrap.min.css \\static\css\bootstrap-material-design.min.css

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CodeWizard</title>

    $if self.css:
        $for style in self.css.split():
            <link rel="stylesheet" href="$style"/>

</head>
<body>
  <div id="app">
    <nav class="navbar navbar-dark bg-primary fixed-top navbar-expand-lg">
      <div class="navbar-header">
        <a class="navbar-brand">CodeWizard</a>
      </div>

      <div class="nav navbar-nav mr-auto mt-2 mt-lg-0">
        <a class ="nav-item nav-link" href="/">Home Feed</a>
        <a class ="nav-item nav-link" href="/discover">Discover</a>
        <a class ="nav-item nav-link" href="/profile">Profile</a>
        <a class ="nav-item nav-link" href="/settings">Settings</a>
      </div>

      <div class="pull-right">
        <a href"/register" class="btn btn-raised btn-default">Register</a>
      </div>
    </div>
      $:page
  </nav>
</body>
</html>
<br /> <br /> <br />

<div class="container">
<h1>Hello CodeWizard</h1>
</div>
$def带(第页)
$var css:\\static\css\bootstrap.min.css\\static\css\bootstrap-material-design.min.css
代码向导
$if self.css:
$for self.css.split()中的样式:
$:第页
home.html:

$def with (page)
$var css: \\static\css\bootstrap.min.css \\static\css\bootstrap-material-design.min.css

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CodeWizard</title>

    $if self.css:
        $for style in self.css.split():
            <link rel="stylesheet" href="$style"/>

</head>
<body>
  <div id="app">
    <nav class="navbar navbar-dark bg-primary fixed-top navbar-expand-lg">
      <div class="navbar-header">
        <a class="navbar-brand">CodeWizard</a>
      </div>

      <div class="nav navbar-nav mr-auto mt-2 mt-lg-0">
        <a class ="nav-item nav-link" href="/">Home Feed</a>
        <a class ="nav-item nav-link" href="/discover">Discover</a>
        <a class ="nav-item nav-link" href="/profile">Profile</a>
        <a class ="nav-item nav-link" href="/settings">Settings</a>
      </div>

      <div class="pull-right">
        <a href"/register" class="btn btn-raised btn-default">Register</a>
      </div>
    </div>
      $:page
  </nav>
</body>
</html>
<br /> <br /> <br />

<div class="container">
<h1>Hello CodeWizard</h1>
</div>



你好,代码向导
如果我没有在css文件位置的static前面加上额外的斜杠,我会得到一些控制台错误,比如StaticApp没有属性目录和无效的literal for int(),以10为基数

加上额外的斜杠,我得到一个200 OK的消息。当我检查页面并查看网络时,它会显示CSS文件的取消状态

我不知道如何解决这个问题。我试着找了不少。我为chrome创建了一个快捷方式

“C:\ProgramFiles(x86)\Google\Chrome\Application\Chrome.exe” --允许文件访问--禁用web安全--用户数据dir=“C:\ChromeLocalFileAccess”

这不起作用,我还尝试了css文件的直接路径,还尝试了
文件://
和许多其他组合


如果有人能帮助我,我将不胜感激,这样我就可以继续学习本课程并了解更多python:)提前谢谢。

这是在python 3.7环境中运行web.py时的问题。这个问题已经解决了

在这种情况下,您的路径不应以
\\
开头:

或者

$var css: static\css\bootstrap.min.css static\css\bootstrap-material-design.min.css


将起作用

这对我很有效,因此请在mainLayout.html中尝试此功能

$def with (page)
$var css: static/css/bootstrap.min.css

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>mainlayout</title>
    $if self.css:
        $for style in self.css.split( )
            <link rel ="stylesheet" href="$style" />
</head>
<body>
     <div id="app">
    <nav class="navbar navbar-dark bg-primary fixed-top navbar-expand-lg">
      <div class="navbar-header">
        <a class="navbar-brand">CodeWizard</a>
      </div>

      <div class="nav navbar-nav mr-auto mt-2 mt-lg-0">
        <a class ="nav-item nav-link" href="/">Home Feed</a>
        <a class ="nav-item nav-link" href="/discover">Discover</a>
        <a class ="nav-item nav-link" href="/profile">Profile</a>
        <a class ="nav-item nav-link" href="/settings">Settings</a>
      </div>

      <div class="pull-right">
        <a href="/register" class="btn btn-raised btn-default">Register</a>
      </div>

    </div>
   <div>
       $:page
   </div>


</body>
</html>
$def带(第页)
$var css:static/css/bootstrap.min.css
主布局
$if self.css:
$self.css.split()中的样式
$:第页

没有windows设置,我建议:路径(它们是URL,不是windows路径)应该是常规斜杠,而不是反斜杠。尝试使用
$var css:/static/css/bootstrap.min.css/static/…
。文件本身应该存在于应用程序的“static”子目录中,例如:
D:\Coding\Python\u Projects\Py\code向导\static\css\bootstrap.min.css
斜杠似乎没有什么区别,我尝试了所有的变体,包括
static/css/bootstrap.min.css
,我也尝试了
/static/css/bootstrap.min.css
这两种尝试都给了我以下信息:
AttributeError:'StaticApp'对象没有属性“目录”
值错误:int()的文本无效当我放置
//static/css/bootstrap.min.css
时,使用base 10,我没有得到错误,但是它也没有从github(web.py-0.40.dev1-py3.7.egg)加载python的css.Version和web.py?python 3.7以及最新的web.py。