Hi.
Ich möchte ein Template mit einem Link erstellen.
Im Moment hat es folgende Form:
<li><a tal:attributes="href www.spiegel.de"></a> </li> </a>
Dabei fügt er den Link aber an das Verzeichnis an in dem er sich grad befindet. Was muß ich ändern damit er die Adresse so nimmt wie ich sie eingebe?
Vielen Dank schonmal.
Link relativ zu root
Das ist eine HTML-Sache. Du musst eine korrekte URL angeben, nicht nur die Domain. Du meinst http://www.spiegel.de/.
-
- User
- Beiträge: 36
- Registriert: Donnerstag 28. September 2006, 12:21
danke erstmal, so meinte ich das aber nicht
die links stehen in meiner datenbank und ich will daß er sie immer an http:// anfügt
wie muß ich daß dann schreiben? also wie muß ich den datenbankzugriff schreiben, daß die ausgabe an http:// angehängt wird?
die links stehen in meiner datenbank und ich will daß er sie immer an http:// anfügt
wie muß ich daß dann schreiben? also wie muß ich den datenbankzugriff schreiben, daß die ausgabe an http:// angehängt wird?
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi!00eraser00 hat geschrieben:die links stehen in meiner datenbank und ich will daß er sie immer an http:// anfügt
Code: Alles auswählen
<li>
<a tal:attributes="href string:http://${VARIABLE_MIT_URL_AUS_DATENBANK}"
tal:content="VARIABLE_MIT_URL_AUS_DATENBANK"
>[Link-Content]</a>
</li>
Code: Alles auswählen
## Script (Python) "create_absolute_url"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=url
##title=
##
if url:
url = str(url).strip()
if url[:7] == "http://":
return url
else:
return "http://" + url
else:
return ""
Code: Alles auswählen
<li>
<a tal:define="url python: context.create_absolute_url(VARIABLE_MIT_URL_AUS_DATENBANK)"
tal:attributes="href url"
tal:content="url"
>[Link-Content]</a>
</li>
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 36
- Registriert: Donnerstag 28. September 2006, 12:21
Danke das funktioniert.
SUPIIIIIIIIIIIIIIIIIIIIIIIIII!!!!!!!!!!
VIELEN VIELEN DANK
SUPIIIIIIIIIIIIIIIIIIIIIIIIII!!!!!!!!!!
VIELEN VIELEN DANK
Dann speicherst du aber gewissermaßen bereits falsche Links in der Datenbank - warum dieses?
Gerold: Gibt es einen nennenswerten Unterschied zwischen url[7:] und url.startswith('http://') in diesem Fall? Funktionsaufrufe sind AFAIK etwas langsamer, aber dafür hängt hier auch nicht die 7 von der Zeichenkette ab (d.h. wenn man sowas im größeren Stil hat, da was ändert und dabei diese Längenangabe vergisst, findet man das Problem möglicherweise nicht so schnell). Andererseits, triggert die [:]-Syntax nicht auch eine Funktion, nämlich __slice__()?
Gerold: Gibt es einen nennenswerten Unterschied zwischen url[7:] und url.startswith('http://') in diesem Fall? Funktionsaufrufe sind AFAIK etwas langsamer, aber dafür hängt hier auch nicht die 7 von der Zeichenkette ab (d.h. wenn man sowas im größeren Stil hat, da was ändert und dabei diese Längenangabe vergisst, findet man das Problem möglicherweise nicht so schnell). Andererseits, triggert die [:]-Syntax nicht auch eine Funktion, nämlich __slice__()?
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Y0Gi!Y0Gi hat geschrieben:Gibt es einen nennenswerten Unterschied zwischen url[7:] und url.startswith('http://') in diesem Fall?
Der einzige Unterschie ist, dass mir ``url[:7]`` eher als ``url.startswith()`` eingefallen ist.

lg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.