это очень специфично для того, что я пытаюсь сделать, поэтому я начинаю описывать, что это такое:
- приложение Pyramid, обслуживающее графики типа http://localhost:6543/path/to/myplot/plot001.png
- , если графикнедоступно другое изображение обслуживается (work.png)
- другая часть - это представление деформации, которое предоставляет HTML-форму для ввода конфигурации для графика, например: http://localhost:6543/path/to/myplot/plot001.png?action=edit. Обратите внимание на строку запроса "action= edit ".
- конфигурация состоит из файла данных, шаблонов и т. д.
- форма имеет кнопки сохранения (для сохранения конфигурации) и кнопки рендеринга (http://localhost:6543/path/to/myplot/plot001.png?action=render). рендеринг результатов в файл png, который затемиспользуется статическим способом.
Я разобрался со всеми деталями, такими как рендеринг с использованием Matplotlib и т. д., но я новичок в Pyramid и Deform. У меня также есть рабочий вид, который обслуживает график из файла.Форма деформации тоже работает. На данный момент мне неясно, как лучше структурировать ULR, чтобы различать варианты использования, редактирования и рендеринга. Я предполагаю, что в разговоре о Pyramid это означает, как настроить маршрутизатор.tes for serve_view и edit_view.
__init__.py:
config.add_route('serve_route',
'/{project_name}/testruns/{testrun_name}/plots/{plot_name}.png')
config.add_route('edit_route',
'/{project_name}/testruns/{testrun_name}/plots/{plot_name}.png')
# can I use query strings like "?action=edit" here to distinguish the difference?
views.py:
@view_config(context=Root, route_name='serve_route')
def plot_view(context, request):
...
@view_config(context=Root, renderer='bunseki:templates/form.pt', route_name='edit_route')
def edit_view(request):
...
В руководстве по пирамиде я не смог найти справочную информацию о том, как установить параметры в маршруте.Я предполагаю, что указатель на некоторую документацию или образец был бы достаточен, и я могу выяснить детали самостоятельно.Спасибо!