RuntimeError at /news/index.html/add/newsitem/ maximum recursion depth exceeded Request Method: GET Request URL: http://dms.bildung.hessen.de/news/index.html/add/newsitem/ Exception Type: RuntimeError Exception Value: maximum recursion depth exceeded Exception Location: /usr/local/lib64/python2.5/site-packages/django/utils/safestring.py in __add__, line 73 Python Executable: /usr/local/bin/python Python Version: 2.5.1 Traceback (innermost last) Switch to copy-and-paste view * /usr/local/lib64/python2.5/site-packages/django/core/handlers/base.py in get_response 74. # Apply view middleware 75. for middleware_method in self._view_middleware: 76. response = middleware_method(request, callback, callback_args, callback_kwargs) 77. if response: 78. return response 79. 80. try: 81. response = callback(request, *callback_args, **callback_kwargs) ... 82. except Exception, e: 83. # If the view raised an exception, run it through exception 84. # middleware, and if the exception middleware returns a 85. # response, use that. Otherwise, reraise the exception. 86. for middleware_method in self._exception_middleware: 87. response = middleware_method(request, e) ▶ Local vars Variable Value callback callback_args () callback_kwargs {'app': u'newsitem'} debug e RuntimeError('maximum recursion depth exceeded',) exceptions mail_admins middleware_method > request , POST:, COOKIES:{'list-order_by_0': 'ZT_Technische', 'sessionid': '636fe0f157a3ccfbd7c00ddbc0e24396'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'UTF-8,*', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'de-de,en;q=0.8,de;q=0.5,en-us;q=0.3', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'list-order_by_0=ZT_Technische Dokumentation|2542|ZT_Anwenderdokumentation|ZT_Themenspeicher|2544|2532|ZT_Installation|ZT_Mehrsprachigkeit|2536|ZT_Verwendete Software|2450|129328|126394|2508|2520|2556|2539|2543|2519|2514|125177|ZT_Testsystem|2523; sessionid=636fe0f157a3ccfbd7c00ddbc0e24396', 'HTTP_HOST': 'dms.bildung.hessen.de', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://dms.bildung.hessen.de/news/index.html/manage/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.8.1.10) Gecko/20071015 SUSE/2.0.0.10-0.1 Firefox/2.0.0.10', 'PATH_INFO': '/index.html/add/newsitem/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '192.168.0.222', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': None, 'SERVER_NAME': 'www.dms.bildung.hessen.de', 'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}> resolver response None self settings urlconf 'dms.urls' urlresolvers * /data/django_projects/dms_projekt/dms/views_dms.py in add_dms_object 333. if string.find(path, '.html') < 0 : 334. path += 'index.html' 335. # --- Das Objekt wird gesucht 336. item = get_item_container(path, '/add/' + app + '/') 337. # --- Die zu "app" passende Operation wird ausgefuehrt 338. if item != None : 339. # --- 'dmsFolder' wird zu folder_show, folder_edit etc 340. return eval(app + '_add(request, item)') ... 341. else: 342. # --- Die Fehlermeldung muss noch verbessert werden 343. return render_to_response ( 'error.html', 344. { 'request': request.META, 345. 'content': '

Der Pfad ' + request.path + ' ist falsch

' 346. } ▶ Local vars Variable Value app u'newsitem' item path u'/news/index.html/add/newsitem/' request , POST:, COOKIES:{'list-order_by_0': 'ZT_Technische', 'sessionid': '636fe0f157a3ccfbd7c00ddbc0e24396'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'UTF-8,*', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'de-de,en;q=0.8,de;q=0.5,en-us;q=0.3', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'list-order_by_0=ZT_Technische Dokumentation|2542|ZT_Anwenderdokumentation|ZT_Themenspeicher|2544|2532|ZT_Installation|ZT_Mehrsprachigkeit|2536|ZT_Verwendete Software|2450|129328|126394|2508|2520|2556|2539|2543|2519|2514|125177|ZT_Testsystem|2523; sessionid=636fe0f157a3ccfbd7c00ddbc0e24396', 'HTTP_HOST': 'dms.bildung.hessen.de', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://dms.bildung.hessen.de/news/index.html/manage/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.8.1.10) Gecko/20071015 SUSE/2.0.0.10-0.1 Firefox/2.0.0.10', 'PATH_INFO': '/index.html/add/newsitem/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '192.168.0.222', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': None, 'SERVER_NAME': 'www.dms.bildung.hessen.de', 'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}> * /data/django_projects/dms_projekt/dms/newsitem/views_add.py in newsitem_add 135. #( 'tab_license', [ 'license', ] ), 136. ] 137. else: 138. tabs = [ ('tab_base', [ 'string_1', 'string_2', 'title', 'sub_title', 'text', 139. 'text_more', 'url_more', 'visible_end', ]), 140. #( 'tab_license', [ 'license', ] ), 141. ] 142. content = get_tabbed_form(tabs, help_form, app_name, f) ... 143. if item_container.item.is_moderated: 144. moderated_text = help_form['moderated_text']['info'] 145. else: 146. moderated_text = '' 147. vars = get_item_vars_add(request, item_container, app_name, my_title, content, show_errors) 148. vars['moderated_text'] = moderated_text ▶ Local vars Variable Value DmsItemForm answer u'madrid' app_name 'newsitem' data {'license': 1, 'visible_end': '31.12.2007'} f item_container my_email u'h.rauch@afl.hessen.de' my_name u'Hans Rauch' my_title u'Nachricht anlegen' my_user question u'Wie heißt die Hauptstadt von Spanien?' request , POST:, COOKIES:{'list-order_by_0': 'ZT_Technische', 'sessionid': '636fe0f157a3ccfbd7c00ddbc0e24396'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'UTF-8,*', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'de-de,en;q=0.8,de;q=0.5,en-us;q=0.3', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'list-order_by_0=ZT_Technische Dokumentation|2542|ZT_Anwenderdokumentation|ZT_Themenspeicher|2544|2532|ZT_Installation|ZT_Mehrsprachigkeit|2536|ZT_Verwendete Software|2450|129328|126394|2508|2520|2556|2539|2543|2519|2514|125177|ZT_Testsystem|2523; sessionid=636fe0f157a3ccfbd7c00ddbc0e24396', 'HTTP_HOST': 'dms.bildung.hessen.de', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://dms.bildung.hessen.de/news/index.html/manage/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.8.1.10) Gecko/20071015 SUSE/2.0.0.10-0.1 Firefox/2.0.0.10', 'PATH_INFO': '/index.html/add/newsitem/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '192.168.0.222', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': None, 'SERVER_NAME': 'www.dms.bildung.hessen.de', 'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}> save_values show_errors False tabs [('tab_base', ['string_1', 'string_2', 'title', 'sub_title', 'text', 'text_more', 'url_more', 'visible_end'])] * /data/django_projects/dms_projekt/dms/utils.py in get_tabbed_form 157. 'text': rFormHelp[item[0]]['title'], 158. 'selected': tab_no == 1 159. } ) 160. tabs.append ( {'tab_id': this_tab_id, 161. 'info': rFormHelp[item[0]]['info'], 162. 'content': form_system().get_form(item[1], rFormHelp, 163. rHelpName, rFormData, 164. tab_cluster, valign, max_cols, show_errors) ... 165. } ) 166. c = Context ( {'headers': headers, 'tabs': tabs } ) 167. return t.render(c) 168. 169. # ----------------------------------------------------- 170. def info_slot_to_header(text) : ▶ Local vars Variable Value Context content '' do_tab True form_system get_template headers [{'selected': True, 'tab_id': 'tab_0', 'text': u'Basisdaten'}] item ('tab_base', ['string_1', 'string_2', 'title', 'sub_title', 'text', 'text_more', 'url_more', 'visible_end']) max_cols 1 rFormData rFormHelp {'anti_spam_answer': {'help': u'

\n Geben Sie bitte hier die korrekte Antwort ein. Es wird nicht zwischen Groß- und\n Kleinschreibung unterschieden.\n

', 'title': u'Antwort zur Anti-Spam-Frage'}, 'anti_spam_question': {'help': u'

\n Mit dieser Frage wird verhindert, dass sogenannte Spam-Roboter hier Ihre\n "Botschaften" hinterlassen können.\n

', 'title': u'Anti-Spam-Frage'}, 'copyright': {'help': u'

\n Sie dürfen hier nur dann Dateien/Texte/Bilder/Grafiken etc. auf den Server hochladen,\n wenn Sie die Inhalte dieser Datei entweder selbst erzeugt haben oder Ihnen der Verfasserin\n bzw. dem Verfasser der Information (schriftlich) versichert haben, dass Sie diese\n Inhalte veröffentlichen dürfen.\n

', 'title': u'Copyright'}, 'has_comments': {'help': u'

\n Dieser Schalter legt fest, ob diese Seite kommentiert werden kann\n bzw. darf. In der Regel wird diese Option ausgeschaltet.\n

', 'title': u'Kann kommentiert werden'}, 'image_extern': {'help': u'

\nFalls die mit dem Bild verknüpfte Seite in einem eigenen Fenster angezeigt werden soll,\nmüssen Sie dieses Feld aktivieren.\n

', 'title': u'Verweis im eigenen Fenster'}, 'image_url': {'help': u'

\nBei Bedarf können Sie links neben Ihrem Beitrag ein Bild anzeigen lassen.\nDa Sie hier die Web-Adresse (http://..) des Bildes angeben, muss sich diesen Bild bereits \nauf dem Server befinden.\n

', 'title': u'Schmuckbild'}, 'image_url_url': {'help': u'

\nFalls Sie ein Bild angegeben haben, können Sie das Bild\nmit einer Web-Adresse (http://..) verknüpfen.\n

', 'title': u'URL zum Bild'}, 'is_browseable': {'help': u'

\n Mit diesem Schalter legen Sie fest, ob dieser Beitrag\n angezeigt wird oder nicht.\n

\n

\n Wichtiger Hinweis: Falls der Name des Beitrags bekannt ist, kann die Seite\n durch die direkte Angabe der Web-Adresse trotzdem angezeigt werden!\n

', 'title': u'Wird angezeigt'}, 'license': {'help': u'

\n Hier legen Sie fest, welche Lizenz Sie für Ihren Beitrag verwenden\n möchten. Bitte beachten Sie, dass Sie nur dann eine Lizenz angeben\n festlegen können, wenn Sie das entsprechende Recht besitzen\n bzw. die entsprechende Ressource explizit unter die betreffende Lizenz\n gestellt wurde!\n

', 'title': u'Lizenz'}, 'moderated_text': {'info': u'

\nDieses Nachrichtenbrett ist moderiert. Ihre neue Nachricht wird erst\nangezeigt, nachdem die zuständige Person Sie freigegeben hat.\n

', 'title': u'Moderiertes Nachrichtenbrett'}, 'section': {'help': u'

\nHier legen Sie fest, welcher Rubrik Ihre Nachricht zugeordnet wird.\n

', 'title': u'Zuordnung zu einer Rubrik'}, 'string_1': {'help': u'

\nTragen Sie hier bitte Ihren Vor- und Nachnamen ein. Anonyme Beiträge\nsind nicht erwünscht.\n

', 'title': u'Mein Name'}, 'string_2': {'help': u'

\nGeben Sie bitte für Rückfragen oder direkte Reaktionen Ihre\nE-Mail-Adresse an.\n

', 'title': u'Meine E-Mail-Adresse'}, 'sub_title': {'help': u'

\nFalls erforderlich geben Sie hier bitte Ihren Untertitel ein.\n

\n', 'title': u'Untertitel'}, 'tab_base': {'info': u'

\nMit diesem Formular geben Sie Ihre Nachricht ein.\n

', 'title': u'Basisdaten'}, 'tab_image': {'info': u'

\nSie können Ihre Informationsseite mit einem kleinen Bild schmücken.\n

', 'title': u'Bild'}, 'tab_intro': {'info': u'

\n Die Intro-Information wird unterhalb der Überschrift angezeigt.\n Falls Sie bei "Intro - Mehr" Informationen eingeben, wird die Anzeige\n automatisch über einen entsprechenden Verweis zugänglich.\n

', 'title': u'Intro'}, 'tab_license': {'info': u'

\n Hier legen Sie entsprechende Lizenzangaben fest.\n

', 'title': u'Lizenz'}, 'tab_text': {'info': u'

\nTragen Sie hier "den Rest" Ihrer Nachricht ein.\n

', 'title': u'Nachrichtentext'}, 'tab_visibility': {'info': u'

\n Sie können die Sichtbarkeit dieses Beitrags auf unterschiedliche Weisen steuern.\n

', 'title': u'Sichtbarkeit'}, 'text': {'help': u'

\nGeben Sie hier bitte die Zusammenfassung Ihrer Nachricht ein. Dieser Text wird\nin der Ü,bersicht des Nachrichtenbretts angezeigt. - Bei kurzen\nNachrichten bauchen Sie nur dieses Feld auszufüllen.\n

\n

\nIhnen stehen dabei die wichtigsten\nMöglichkeiten eines Editors zur Verfügung. Wenn Sie die Maus \nlängere Zeit über die Symbole halten, werden in kleinen\nFenstern erläuternde Informationen angezeigt.\n

', 'title': u'Zusammenfassung'}, 'text_more': {'help': u'

\nGeben Sie hier bitte den "Rest" Ihrer Nachricht ein. Gegebenenfalls können\nSie dieses Textfeld auch leer lassen.\n

\n

\nIhnen stehen dabei die wichtigsten\nMöglichkeiten eines Editors zur Verfügung. Wenn Sie die Maus \nlängere Zeit über die Symbole halten, werden in kleinen\nFenstern erläuternde Informationen angezeigt.\n

', 'title': u'Nachricht'}, 'title': {'help': u'

\nTragen Sie hier die Überschrift Ihres Beitrags ein.\n

\n\n

\nHinweis: Bei einem kürzen Titel können Sie eher davon ausgehen,\ndass Ihre Nachricht gelesen wird.\n

', 'title': u'Überschrift/Titel'}, 'url_more': {'help': u'

\nGeben Sie hier bitte die vollständige Web-Adresse an, für weitergehende\nInformationen an. Vergessen Sie bitte nicht http://.\n

', 'title': u'Web-Adresse'}, 'url_more_extern': {'help': u'

\nMit diesem Auswahlfeld legen Sie fest, dass der Verweis in einem eigenen Fenster\nangezeigt werden soll. Verweise außerhalb dieses Servers werden immer in\neinem eigenen Fenster geöffnet.\n

', 'title': u'Eigenes Fenster'}, 'visible_end': {'help': u'

\n Dieses Feld legt fest, bis zu welchem Zeitpunkt dieser Beitrag sichtbar ist.\n

', 'title': u'Sichtbar bis'}, 'visible_start': {'help': u'

\n Dieses Feld legt fest, ab welchem Zeitpunkt dieser Beitrag sichtbar ist.\n

', 'title': u'Sichtbar von'}} rFormItems [('tab_base', ['string_1', 'string_2', 'title', 'sub_title', 'text', 'text_more', 'url_more', 'visible_end'])] rHelpName 'newsitem' show_errors True t tab_cluster {} tab_id 'tab_' tab_no 1 tabs [] this_tab_id 'tab_0' valign True * /data/django_projects/dms_projekt/dms/form_system.py in get_form 198. c = Context ( { 'title' : form['title'], 199. 'label' : my_id, 200. 'input' : my_form, 201. 'help' : self.getJsHelp(my_help_url, form['help'], 202. form['title'], my_id), 203. 'max_cols': max_cols, 204. } ) 205. ret += i.render(c) ... 206. ret += '\n' 207. return ret ▶ Local vars