以下 3 个链接并没有用外行的术语解释我真正想要实现的目标
我有以下代码
@app.route('/rate_isp_service', methods=['GET', 'POST'])
@login_required
def rate_isp_service():
isp_query = db.session.query(Isps)
isp_entries = [dict
(isp_id=isp.isp_id, isp_name=isp.isp_name, isp_description=isp.isp_description) for isp in
isp_query]
services_query = db.session.query(Services)
services_entries = [dict
(service_id=service.service_id, service_name=service.service_name,
service_catergory_id=service.service_catergory_id) for service in
services_query]
ratings_query = db.session.query(Ratings)
ratings_entries = [dict
(ratings_id=rating.ratings_id, rating_value=rating.rating_value,
rating_comment=rating.rating_comment) for rating in
ratings_query]
servicemetric_query = db.session.query(Service_metric)
servicemetric_entries = [dict
(metric_id=metric.metric_id, metric_name=metric.metric_name,
metric_description=metric.metric_description) for metric in
servicemetric_query]
return render_template('rate_isp_service.html', isp_entries=isp_entries, services_entries=services_entries,ratings_entries=ratings_entries)
Run Code Online (Sandbox Code Playgroud)
这段代码会在我的 html 模板中填充我所有的下拉列表,只要有表单。
我不得不在所有视图中多次包含此代码,因为我找不到将它包含在某些视图中的方法
我想采取的方法是创建这样的视图
@app.route('/dropdowns', methods=['GET', 'POST'])
@login_required
def dropdowns():
that code here
Run Code Online (Sandbox Code Playgroud)
并且能够在我想要的任何路线或视图中调用该 dropdwon 函数
你为什么不把它放在一个函数中并随时调用它。像这样:
def new_func()
isp_query = db.session.query(Isps)
isp_entries = [dict
(isp_id=isp.isp_id, isp_name=isp.isp_name,isp_description=isp.isp_description) for isp in
isp_query]
services_query = db.session.query(Services)
services_entries = [dict
(service_id=service.service_id, service_name=service.service_name,
service_catergory_id=service.service_catergory_id) for service in
services_query]
ratings_query = db.session.query(Ratings)
ratings_entries = [dict
(ratings_id=rating.ratings_id,rating_value=rating.rating_value,
rating_comment=rating.rating_comment) for rating in
ratings_query]
servicemetric_query = db.session.query(Service_metric)
servicemetric_entries = [dict
(metric_id=metric.metric_id, metric_name=metric.metric_name,
metric_description=metric.metric_description) for metric in
servicemetric_query]
return result1, result2, result3
@app.route('/rate_isp_service', methods=['GET', 'POST'])
@login_required
def rate_isp_service():
result1, result2, result3 = new_func()
Run Code Online (Sandbox Code Playgroud)
更好的方法是在同一个文件夹中创建一个utils.py并将这个新函数放入其中,导入它并在需要时使用它。
| 归档时间: |
|
| 查看次数: |
9047 次 |
| 最近记录: |