flask二级页面重定向点击后css无法加载?

views:

@main.route('/hostgroup',methods=['GET','POST'])
def hostgroup():
    return render_template('hostgroup.html')


@main.route('/hostgroup/addgroup',methods=['GET','POST'])
def addgroup():
    return render_template('addgroup.html')    

发现的问题:

第一个页面点击按钮后,跳转到二级页面,二级页面的css样式不显示,get请求的css路径变了:

127.0.0.1 - - [18/Dec/2017 17:10:49] "GET /hostgroup/static/datatime/css/style.css HTTP/1.1" 200 -

正常请求的一级路由css路径:如果只写一级路由请求就没问题,

127.0.0.1 - - [18/Dec/2017 17:10:49] "GET /static/datatime/css/style.css HTTP/1.1" 200 -

问:

我想在第一个页面点击按钮后跳转到第二个页面,并且第二个页面的url应该属于第一个页面的子页面?请问以上哪里有问题?

页面1:hostgroup页面按钮:

<a href="{{ url_for('.addgroup') }}" class="waves-effect waves-light btn btn-floating green">添加</a>

addgroup的页面是使用的模版继承,页面继承base模版。现在是这个页面的模版不显示,。如果修改成一级理由就没问题。

阅读 4.1k
1 个回答

首先,明确一点,你的 flask 项目用到了蓝图。

在 flask 中,如果你的 app = Flask(__name__) 是这样写的,没有明确 static_folder='你的主应用的 static 目录', 那么程序会自动在蓝图下面搜索 static 目录。因此,你的 main 蓝图下的 css 应该在该蓝图下的 static 目录下,但你的 css 肯定是调用的主应用下的 static 目录。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题