我有flaskr folder的确切副本。我运行了应用程序。一切都按预期工作,但有一件事。我的博客应用程序没有样式,即使我在文件夹名称static中有一个'style.css'文件。
在模板文件夹的.html文件中,作者似乎忘记了引号。所以我添加了引号,这些文件现在看起来像这样(layout.html,logout.html和show_entries.html。但它没有改变任何东西,仍然看到一个没有样式的博客。有谁知道为什么样式不适用?
编辑:
我重新启动了应用程序。我突然得到OperationalError: no such table exists: entries
(见here)。昨天我在博客中填写了1个条目,但它工作正常并且正确显示了除样式之外的条目。现在我第一次运行应用程序时突然间出现了这个全新的错误。我再次重新复制所有文件,就像在作者的文件夹中一样,以确保它与作者完全相同的flaskr文件夹。我犯了同样的错误。
有人可以复制author's flaskr folder并在flaskr目录中运行python flaskr.py
以查看它是否适用于他们?所以至少我知道源是正确的。
答案 0 :(得分:1)
编辑:
我忘了跑:
>>> from flaskr import init_db; init_db()
(参见自述文件)。
我不知道为什么风格上次不适用,但现在确实如此。
答案 1 :(得分:0)
样式表可能未加载
使用像firebug这样的工具来确保样式表实际上正在加载
答案 2 :(得分:0)
我遇到了同样的问题,下面的解决方案为我工作。
如果您转到__init__.py
文件并更改
def create_app(test_config=None):
app = Flask(__name__, instance_relative_config=True)
到
def create_app(test_config=None):
app = Flask(__name__, instance_relative_config=True, static_url_path="", static_folder="static")
应该可以。我的猜测是,如果没有其他参数,默认目录将无法正确设置。这会将静态url路径设置为其中带有__init__.py
的文件夹,并将静态文件夹设置为同一目录中名为“ static”的文件夹。如果您将文件夹放在其他位置或使用其他名称,则需要更改这两个参数。