Der beste Weg (für mich), daran zu denken, ist das erste Argument, base
ist wie die Seite, die Sie in Ihrem Browser sind. Das zweite Argument url
ist die href eines Ankers auf dieser Seite. Das Ergebnis ist die letzte URL, auf die Sie weitergeleitet werden, wenn Sie auf klicken.
>>> urljoin('some', 'thing')
'thing'
Dies ist sinnvoll, geben Sie meine Beschreibung. Obwohl man hoffen würde, dass die Basis ein Schema und eine Domäne enthält.
>>> urljoin('http://some', 'thing')
'http://some/thing'
Wenn Sie auf einem vhost einige sind, und es gibt ein Anker wie <a href='thing'>Foo</a>
dann wird der Link gelangen Sie zu http://some/thing
>>> urljoin('http://some/more', 'thing')
'http://some/thing'
Wir sind auf some/more
hier, also eine relative Verknüpfung von thing
wird nehmen uns /some/thing
>>> urljoin('http://some/more/', 'thing') # just a tad/after 'more'
'http://some/more/thing'
Hier sind wir nicht auf some/more
, sind wir auf some/more/
was anders ist. Nun, unser relativer Link führt uns zu some/more/thing
>>> urljoin('http://some/more/', '/thing')
'http://some/thing'
Und schließlich. Wenn auf some/more/
und die href ist /thing
, werden Sie mit some/thing
verknüpft werden.
Hinweis für diejenigen, die über diese Frage kommen: Die obige Import-Anweisung ist für Python 3.x. Verwenden Sie "from urlparse import urljoin" für Python 2.x. –