Django Viewflow - Передача значений полей через урлы при запуске процесса
Возможно ли **, передать значение процессу через стартовый url/path.
У меня есть модель процесса с полем note
.
Я хочу запустить новый поток процесса и передать заметку в url, например
http://server.com/my_process/start/?note=mynote
Поскольку Viewflow - это тонкий слой рабочего процесса, построенный поверх Django, обработка параметров URL работает так же, как и в Django. Параметры доступны в объекте request.GET, и вы можете использовать их в пользовательском представлении в соответствии с вашими потребностями.
Например, чтобы предварительно инициализировать пользовательскую форму значением из URL, вы можете создать собственный подкласс CreateProcessView:
from viewflow.workflow.flow.views import CreateProcessView
class CustomCreateProcessView(CreateProcessView):
"""
Custom view to initialize a process with data from the request URL.
"""
def get_initial(self):
initial = super().get_initial()
initial['text'] = self.request.GET.get('note', '')
return initial
При таком подходе при переходе по URL, например http://server.com/my_process/start/?note=mynote, параметр note будет извлечен и использован для инициализации текстового поля в форме.
За более подробной информацией обратитесь к документации Django по представлениям на основе классов и обработке URL.