Advanced: How to use href in Jinja2

I want to use hrefin the template jinja2to send the user a specific result based on id, to learn more about this specific result. I created a routeurl: ('view_assessment_result', '/view_assessment_result/{id}')that displays all the details about a specific result based on id.

What I want to do:
When a user clicks on a number id, he will be sent to a route view_assessment_result/{some_id}that displays the specifics of this page based on the idone found in the iteration for a in assessment.... I tried to study cases, but others seem to use Flask , which I DO NOT use. The template code below does not complete the task.

See the code below:

route configuration:

    #Route convention: resource 'name' 'url dispath'
    config.add_route('view_assessment_result', '/view_assessment_result/{id}')

jinja template

        <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
+4
2

URL-. ( Python a.id URL- - % , :

<a href="{{ '/view_assessment_result/%s'%a.id }}">{{ a.id }}</a>

, a.id (/, & ..), urlencode:

<a href="{{ '/view_assessment_result/%s'%a.id|urlencode }}">{{ a.id }}</a>
+5

request.route_path URL-.

<a href="{{ request.route_path('view_assessment_result', id=a.id) }}">{{ a.id }}</a>

: http://docs.pylonsproject.org/projects/pyramid/en/latest/api/request.html#pyramid.request.Request.route_path

+1

Source: https://habr.com/ru/post/1611479/


All Articles