我想在jinja2
模板中使用href
将用户发送到基于id
的特定结果以了解有关该特定结果的更多信息。我创建了一个route
url:('view_assessment_result', '/view_assessment_result/{id}')
,它根据id
提供有关特定结果的所有详细信息。高级:如何在Jinja2中使用href
我想做什么:
当用户点击ID
号,他们会被发送到路线view_assessment_result/{some_id}
将呈现该页面的基于迭代for a in assessment...
发现id
细节。 我试图寻找案件,但其他人似乎使用Flask,我不使用。下面的模板代码没有完成手头的任务。
见代码:
路线配置:
#Route convention: resource 'name' 'url dispath'
config.add_route('view_assessment_result', '/view_assessment_result/{id}')
神社模板
<tr>
{% for a in assessment_results %}
<td><a href="{{ '/view_assessment_result' }}">{{ a.id }}</a></td>
<td>{{ a.owner }}</td>
<td>{{a.assessment }}</td>
</tr>
{% endfor %}
视图配置呈现由上述href
发送特定的结果:
@view_config(route_name='view_assessment_result', request_method='GET', renderer='templates/analyst_view.jinja2')
def view_assessment_result(request):
with transaction.manager:
assessment_result_id = int(request.matchdict['id'])
assessment_result = api.retrieve_assessment_result(assessment_result_id)
if not assessment_result:
raise HTTPNotFound()
#more code
我得到'404 Not Found,找不到资源。,/ view_assessment_result' ... {{a.id}}'只是打印一个数字,例如: '2' – thesayhey
什么URL生成404? –
'http://0.0.0.0:6543/view_assessment_result?1' – thesayhey