Python 3.x 如何将样式应用于flask中生成的html页面
我有一个图书搜索页面。当用户搜索一本书时,页面中会显示相关书籍的列表。所有行都有一个超链接,当用户单击该超链接时,它将转到详细信息页面。我使用ISBN(如/search/1236BCD2)生成详细信息页面,作为搜索的扩展。所以对于每本书,这个页面地址是不同的。问题是,我用于所有页面的styles.css不能应用于这些页面。我想这是因为烧瓶的结构。当它试图打开它要搜索的页面时,似乎是/search/static/styles/styles.css而不是/search/1236BCD2/static/styles/styles.css。我应该怎么做才能修复它?使用 模板继承允许您构建一个基本“骨架”模板,该模板包含站点的所有公共元素,并定义子模板可以覆盖的块 然后,如果数据库中有书籍,请创建详细信息视图Python 3.x 如何将样式应用于flask中生成的html页面,python-3.x,flask,Python 3.x,Flask,我有一个图书搜索页面。当用户搜索一本书时,页面中会显示相关书籍的列表。所有行都有一个超链接,当用户单击该超链接时,它将转到详细信息页面。我使用ISBN(如/search/1236BCD2)生成详细信息页面,作为搜索的扩展。所以对于每本书,这个页面地址是不同的。问题是,我用于所有页面的styles.css不能应用于这些页面。我想这是因为烧瓶的结构。当它试图打开它要搜索的页面时,似乎是/search/static/styles/styles.css而不是/search/1236BCD2/static
@app.route('/details/<bookid>')
def details(id):
# search for a book with that id in the database
@app.route(“/details/”)
def详细信息(id):
#在数据库中搜索具有该id的书籍
不幸的是,你的问题有点模糊,所以我的回答也有点模糊
app=Flask(\uuu name\uuuu)
。在这种情况下,“app.py”所在的目录默认为应用程序的根目录。默认情况下,Flask希望名为“static”的文件夹与该文件位于同一目录中。但是,静态文件夹的名称可以更改为您想要的任何名称。您可以通过执行类似于app=Flask(\uuu name\uuuuu,static\u folder=“search”)
的操作,将静态文件夹更改为“search”而不是“static”。有关应用程序配置参数,请参阅。因此,Flask应该在/static/styles/styles.css
或/search/styles/styles.css
中查找静态文件,具体取决于您的应用程序配置。如果您希望Flask在/static/1236BCD2/styles/styles.css
或/search/1236BCD2/styles/styles.css
等目录中找到“styles.css”,那么您可能不明白您的目录结构必须与Flask应用程序的配置方式相匹配,或者为每本书生成不同的目录和不同的style.css(我希望您没有这样做)url\u for()
函数确保Flask可以将静态资产链接到HTML页面。如果您想硬编码值(我不推荐),您可以链接您的资产,如
,也可以使用url\u for()
如
。“filename”参数值始终相对于静态目录回答好问题。并非所有的问题都可以或应该在这里得到回答。首先,感谢您的努力和长期的解释。事实上,我知道问题是什么,并在寻找解决方案,也许我不能很明显地表达自己。对不起,语言问题。我知道flask目录结构,我有静态文件夹和模板文件夹。该应用程序的其他页面工作正常,问题是关于我生成的像@app.route(“/search/”)这样的书籍详细信息页面。对于standart页面,flask服务器将搜索此路径:/search/static/styles/styles.css。因此,对于上面提到的这类已生成的页面,此路径不起作用。我知道继承是解决办法。