Exception: type = '', value = ''str' object has no attribute 'get'' Stack trace (most recent call first): File "/usr/lib/python2.7/dist-packages/wcs/qommon/form.py", line 1753, in set_value 1751 if value: 1752 for name in self.element_names: > 1753 self.get_widget(name).set_value(self.value.get(self.element_names[name])) 1754 1755 def render_content(self): locals: name = 'element0' self = value = '0' File "/usr/lib/python2.7/dist-packages/wcs/forms/root.py", line 354, in page 352 if not isinstance(v, str) and field.convert_value_to_str: 353 v = field.convert_value_to_str(v) > 354 form.get_widget('f%s' % k).set_value(v) 355 if verified: 356 form.get_widget('f%s' % k).readonly = 'readonly' locals: data = {} displayed_fields = [, , , , , , , , , , ] field = form = form_data = {} k = '8' magictoken = '0b28968f651b25f4' one = True page = None page_change = True page_error_messages = None prefill_user = prefilled = True req = self = session = v = '0' verified = False File "/usr/lib/python2.7/dist-packages/wcs/forms/root.py", line 646, in _q_index 644 if not self.pages: 645 raise errors.TraversalError() > 646 return self.page(self.pages[0]) 647 648 if form.get_submit() == 'cancel': locals: authentication_context_check_result = None existing_formdata = None form = self = session = File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 67, in _q_traverse 65 raise TraversalError 66 elif hasattr(obj, '__call__'): > 67 return obj() 68 else: 69 return obj locals: component = '' name = '_q_index' obj = > path = [] self = File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 63, in _q_traverse 61 if path: 62 if hasattr(obj, '_q_traverse'): > 63 return obj._q_traverse(path) 64 else: 65 raise TraversalError locals: component = 'banderole-sur-le-rond-point-de-tassigny' name = None obj = path = [''] self = File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 91, in _q_traverse 89 def _q_traverse(self, path): 90 self._q_access() > 91 return super(AccessControlled, self)._q_traverse(path) 92 93 locals: path = ['banderole-sur-le-rond-point-de-tassigny', ''] self = File "/usr/lib/python2.7/dist-packages/auquotidien/modules/root.py", line 760, in _q_traverse 758 def _q_traverse(self, path): 759 get_response().filter['bigdiv'] = 'rub_service' > 760 return super(AlternatePreviewDirectory, self)._q_traverse(path) 761 762 locals: path = ['banderole-sur-le-rond-point-de-tassigny', ''] self = File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 63, in _q_traverse 61 if path: 62 if hasattr(obj, '_q_traverse'): > 63 return obj._q_traverse(path) 64 else: 65 raise TraversalError locals: component = 'preview' name = 'preview' obj = path = ['banderole-sur-le-rond-point-de-tassigny', ''] self = File "/usr/lib/python2.7/dist-packages/auquotidien/modules/root.py", line 847, in _q_traverse 845 return redirect('%s%s/%s' % (base_url, f.category.url_name, uri_rest)) 846 > 847 raise e 848 849 locals: path = ['preview', 'banderole-sur-le-rond-point-de-tassigny', ''] response = self = File "/usr/lib/pymodules/python2.7/quixote/publish.py", line 253, in try_publish 251 permanent=True) 252 components = path[1:].split('/') > 253 output = self.root_directory._q_traverse(components) 254 # The callable ran OK, commit any changes to the session 255 self.finish_successful_request() locals: components = ['preview', 'banderole-sur-le-rond-point-de-tassigny', ''] path = '/preview/banderole-sur-le-rond-point-de-tassigny/' request = self = File "/usr/lib/python2.7/dist-packages/wcs/compat.py", line 206, in process_request 204 output = self.finish_interrupted_request(exc) 205 except Exception, exc: > 206 output = self.finish_failed_request() 207 response = request.response 208 locals: exc = AttributeError("'str' object has no attribute 'get'",) request = self = File "/usr/lib/python2.7/dist-packages/wcs/compat.py", line 244, in quixote 242 def quixote(request): 243 pub = get_publisher() > 244 return pub.process_request(pub.get_request()) 245 246 locals: pub = request = File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 132, in get_response 130 wrapped_callback = self.make_view_atomic(callback) 131 try: > 132 response = wrapped_callback(request, *callback_args, **callback_kwargs) 133 except Exception as e: 134 # If the view raised an exception, run it through exception locals: callback = callback_args = () callback_kwargs = {} middleware_method = > request = resolver = resolver_match = ResolverMatch(func=wcs.compat.quixote, args=(), kwargs={}, url_name=quixote, app_name=None, namespaces=[]) response = None self = urlconf = 'wcs.urls' wrapped_callback = File "/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 189, in __call__ 187 response = http.HttpResponseBadRequest() 188 else: > 189 response = self.get_response(request) 190 191 response._handler_class = self.__class__ locals: environ = {'HTTP_REFERER': 'https://demarches-saint-chamond-test.demarches.sitiv.fr/backoffice/forms/63/', 'SERVER_PROTOCOL': 'HTTP/1.0', 'uwsgi.version': '2.0.7-debian', 'SCRIPT_NAME': '', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/preview/banderole-sur-le-rond-point-de-tassigny/', 'HTTP_X_FORWARDED_SSL': 'on', 'QUERY_STRING': '', 'HTTP_X_REAL_IP': '192.168.81.2', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': 'publik_portal_agent_url=https%3A%2F%2Fagents-saint-chamond-test.demarches.sitiv.fr%2F; publik_portal_agent_title=Portail%20agent; gadjo_sidepage_status=expanded; wcs-eca3e0="94677fdfd561fa60"; A2_OPENED_SESSION=1', 'SERVER_NAME': 'dcpublik-recette', 'REMOTE_ADDR': '80.12.92.47', 'HTTP_X_FORWARDED_PROTOCOL': 'ssl', 'wsgi.url_scheme': 'https', 'SERVER_PORT': '80', 'uwsgi.node': 'dcpublik-recette', 'HTTP_X_FORWARDED_PROTO': 'https', 'wsgi.input': , 'HTTP_DNT': '1', 'HTTP_HOST': 'demarches-saint-chamond-test.demarches.sitiv.fr', 'wsgi.multithread': False, 'HTTP_UPGRADE_INSECURE_REQUESTS': '1', 'HTTP_CACHE_CONTROL': 'max-age=0', 'REQUEST_URI': '/preview/banderole-sur-le-rond-point-de-tassigny/', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'HTTP_X_FORWARDED_FOR': '80.12.92.47, 192.168.81.2', 'wsgi.errors': , 'wsgi.multiprocess': True, 'HTTP_ACCEPT_LANGUAGE': 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3', 'wsgi.run_once': False, 'wsgi.file_wrapper': , 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br'} request = self = start_response = Form: f4 '42 400' f5 'Saint-Chamond' Cookies: A2_OPENED_SESSION '1' gadjo_sidepage_status 'expanded' publik_portal_agent_title 'Portail%20agent' publik_portal_agent_url 'https%3A%2F%2Fagents-saint-chamond-test.demarches.sitiv.fr%2F' wcs-eca3e0 '94677fdfd561fa60' Environment: HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_ENCODING 'gzip, deflate, br' HTTP_ACCEPT_LANGUAGE 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3' HTTP_CACHE_CONTROL 'max-age=0' HTTP_CONNECTION 'close' HTTP_COOKIE 'publik_portal_agent_url=https%3A%2F%2Fagents-saint-chamond-test.demarches.sitiv.fr%2F; publik_portal_agent_title=Portail%20agent; gadjo_sidepage_status=expanded; wcs-eca3e0="94677fdfd561fa60"; A2_OPENED_SESSION=1' HTTP_DNT '1' HTTP_HOST 'demarches-saint-chamond-test.demarches.sitiv.fr' HTTP_REFERER 'https://demarches-saint-chamond-test.demarches.sitiv.fr/backoffice/forms/63/' HTTP_UPGRADE_INSECURE_REQUESTS '1' HTTP_USER_AGENT 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0' HTTP_X_FORWARDED_FOR '80.12.92.47, 192.168.81.2' HTTP_X_FORWARDED_PROTO 'https' HTTP_X_FORWARDED_PROTOCOL 'ssl' HTTP_X_FORWARDED_SSL 'on' HTTP_X_REAL_IP '192.168.81.2' PATH_INFO '/preview/banderole-sur-le-rond-point-de-tassigny/' QUERY_STRING '' REMOTE_ADDR '80.12.92.47' REMOTE_USER '23' REQUEST_METHOD 'GET' REQUEST_URI '/preview/banderole-sur-le-rond-point-de-tassigny/' SCRIPT_NAME '' SERVER_NAME 'dcpublik-recette' SERVER_PORT '80' SERVER_PROTOCOL 'HTTP/1.0' uwsgi.node 'dcpublik-recette' uwsgi.version '2.0.7-debian' wsgi.errors wsgi.file_wrapper wsgi.input wsgi.multiprocess True wsgi.multithread False wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0)