На клиенте создается строка по введенным пользователем полям:
/sys/user_task_editor_update/0&1&17.04.2008&H&&Заголовок&Некоторый текст&0
При этом значение “&Заголовок” - это то что пользователь ввел в поле Заголовок
Поэтому разбор в urls.py не находит мою функцию
(r'^sys/user_task_editor_update/([\w \s\S]*)&([\w \s\S]*)&([\w \s\S]*)&([\w \s\S]*)&([\w \s\S]*)&([\w \s\S]*)&([\w \s\S]*)$', 'image_cards.cards.views.user_task_editor_update'),
Функция user_task_editor_update имеет заголовок:
def user_task_editor_update( request, task_id, user_to, term_date, urgency, title, description, closed ):
То есть получается проблема если в текст пользователь вводит символ разделителя параметров - то ошибка так как получается неправильно число параметров
и функция user_task_editor_update не вызывается
Если на клиенте создавать строку с использованием encodeURIComponent( то получается :
/sys/user_task_editor_update/0&1&17.04.2008&H&%26%D0%97%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA&%D0%9D%D0%B5%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D1%82%D0%B5%D0%BA%D1%81%D1%82&0
но результат тот же
Едмнственно что я смог придумать это во введенном тексте на клиенте менять символ разделителя параметров на что вроде “ParametersSeparator” - и
потом на сервере менять назад - Есть ли лучшее решение?