Re: Re: redirect klappt nicht

"T.Hinze" <[email protected]>
Newsgroups gmane.comp.web.zope.german
Message-ID <[email protected]>
Hätte das nicht den Nachteil, dass man nur 1 Methode direkt aufrufen
kann? Wenn man 2 verschiedene Suchen hätte, würde dies doch nicht klappen.
Per PDB seh ich zudem, dass ich in der Methode lande. Nur wird der
Redirect ignoriert.

Gibt eine Art Log wo evtl. nicht angezeigte Fehler mitgeschrieben
werden? Sonst weiß ich nicht wo ich ansetzen muss.

th

Thomas Maßmann schrieb:
> Mal ganz schnell zusammen geschustert: wenn Du die URL der BV aufrufst
> (@@searchView/) kannst Du einen Redirect machen, indem Du den Code in
> die __call__-Methode schreibst. Die Methode (mySearch) über die URL
> aufzurufen geht nicht (oder hab ich da jetzt was verpasst?). Der
> Redirect geht aber über die Methode, wenn Du sie in einem Template per
> TAL aufrufst.
>
> Beispiel:
>
> class searchView(BrowserView):
>     def __init__(self, context, request):
>     self.context = context
>     self.request = request
>
>     def __call__(self):
>     url = self.request.get("HTTP_REFERER")
>     self.request.response.redirect(url)
>
>     def mySearch(self):
>        #mach irgendwas in der Methode
>     url = self.request.get("HTTP_REFERER")
>     return url
>     # oder: self.request.response.redirect(url)
>
> -----
>
>     <form action="" method="post" tal:attributes="action
> string:${context/absolute_url}/@@searchView/;">
>         <input type="submit" value="submit" />
>     </form>
>
>     <span tal:content="context/@@searchView/mySearch" />
>
>
> Thomas
>
>
> Am 17.12.2008 um 13:47 schrieb T.Hinze:
>
>> Nun das habe ich versucht.
>>
>> meine BV ist als searchView bekannt
>>
>> ...
>>    def mySearch(self):
>>        url = self.request.get("HTTP_REFERER")
>>        self.request.response.redirect(url)
>>        return
>> ...
>>
>> <form action="" method="post"
>>      tal:attributes="action
>> string:${context/absolute_url}/@@searchView/mySearch;">
>>
>> Wenn ich nun das Formular, welches unter /xyz/search erreichbar ist,
>> absende so wird es ja an /@@searchView/mySearch gesendet - dort von der
>> BV verarbeitet und direkt weitergeleitet auf /xyz/search.
>>
>> So war der Wunsch. Jedoch lande ich auf einer leeren Seite und in der
>> URL steht /@@searchView/mySearch .
>>
>> Was mache ich denn noch falsch?
>>
>> Bei den CPT, CPY, VPY wird das controller_state benutzt. Kann ich das
>> nicht auch verwenden, weil man damit Infos übergeben kann. Nur wie?
>>
>> Thomas Maßmann schrieb:
>>> Hallo,
>>>
>>> wird denn der redirect ausgeführt? Weil die Funktion xyz wird mit dem
>>> redirect nicht beendet. Die Ausgabe auf der Konsole ist also ok. Es
>>> fehlt nur das return.
>>>
>>> HTH Thomas
>>>
>>>
>>> Am 17.12.2008 um 11:45 schrieb T.Hinze:
>>>
>>>> Hallo,
>>>> ich habe ein Problem mit dem Versuch einen Redirect aus einer
>>>> BrowserView-Methode heraus auszuführen.
>>>>
>>>> Ich lande beim Aufruf meiner Methode xyz() in selbiger und dort steht
>>>> testweise
>>>>
>>>> def xyz(self):
>>>> self.request.response.redirect('xyz')
>>>> print 'redirect failed'
>>>>
>>>>
>>>> Rufe ich also diese Methode auf, so erscheint mir in der Console der
>>>> String 'redirect failed'. D.h. der redirect() wird ignoriert.
>>>> Leider erschließt sich mir nicht warum?
>>>>
>>>> Übersehe ich denn etwas grundlegendes?
>>>>
>>>> th
>>>>
>>>>
>>>> _______________________________________________
>>>> zope mailing list
>>>> [email protected]
>>>> https://mail.dzug.org/mailman/listinfo/zope
>>>
>>> EDV-Beratung Thomas Maßmann
>>> E-Mail: [email protected]
>>> WWW: it-spir.it
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> zope mailing list
>>> [email protected]
>>> https://mail.dzug.org/mailman/listinfo/zope
>>>
>>
>>
>> _______________________________________________
>> zope mailing list
>> [email protected]
>> https://mail.dzug.org/mailman/listinfo/zope
>
> EDV-Beratung Thomas Maßmann
> E-Mail: [email protected]
> WWW: it-spir.it
>
>
>
>
>
> _______________________________________________
> zope mailing list
> [email protected]
> https://mail.dzug.org/mailman/listinfo/zope
>
>


_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.