У меня есть приложение Pyramid, использующее рассылку URL. У меня есть маршрут «/delete», который удаляет запись из базы данных и перенаправляет в представление. Когда происходит перенаправление, я хочу, чтобы представление перезагружалось на той же странице. Я использую webhelpers.paginate для разбиения на страницы. Проблема в том, что при перенаправлении параметры не передаются.
Маршрут удаления:
@view_config(route_name='delete')
def delete(request):
# Get the current page, the page title, and the id of the record to delete
current_page = int(request.params.get('page', 1))
# Database transactions
...
# Reload the view
url = request.route_url(route_name='records', app_name='BLAH', userid='BLAH', page=current_page)
return HTTPFound(location=url)
Просмотр записей:
@view_config(route_name='records', renderer='records.jinja2')
def records(request):
# Get the current page
current_page = int(request.params.get('page', 1))
Когда загружается представление записей, параметры не передаются, и для текущей_страницы устанавливается значение по умолчанию «1». Значения «BLAH» для app_name и user_id также не передаются.
Одна вещь, которую я заметил, это то, что кажется, что представление загружается дважды, но я не знаю, как это подтвердить. Я думаю, что страница загружается дважды, потому что я вижу два обращения к базе данных после перенаправления.
Что мне не хватает? Спасибо.
print('stuff')
в обе функции просмотра. - person Antoine Leclair   schedule 28.11.2013