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模版。现在是这个页面的模版不显示,。如果修改成一级理由就没问题。
首先,明确一点,你的 flask 项目用到了蓝图。
在 flask 中,如果你的
app = Flask(__name__)
是这样写的,没有明确static_folder='你的主应用的 static 目录'
, 那么程序会自动在蓝图下面搜索static
目录。因此,你的main
蓝图下的css
应该在该蓝图下的static
目录下,但你的css
肯定是调用的主应用下的static
目录。