Ich arbeite gerade an einem Spielzeugprojekt in Django.Django slugified urls - wie mit Kollisionen umzugehen?
Ein Teil meiner App ermöglicht Benutzern, Bewertungen zu verlassen. Ich würde gerne den Titel der Rezension nehmen und ihn verschicken, um eine URL zu erstellen.
Also, wenn ein Benutzer eine Rezension namens "Das beste Ding überhaupt!" Schreibt, wäre die URL etwa so: www.example.com/reviews/the-best-thing-ever
.
Das ist alles gut und gut, aber was ist der beste Weg, Fall zu behandeln, wo zwei Benutzer den gleichen Titel wählen? Ich möchte nicht, dass der Titel erforderlich ist, um einzigartig zu sein.
Ich habe über das Hinzufügen der Review-ID in der URL irgendwo nachgedacht, aber ich möchte diese zusätzlichen Informationen für alle URLs vermeiden, die nicht kollidieren.
Irgendwelche Ideen?
Dies ist die Lösung hinzufügen Ich habe darüber nachgedacht, obwohl Slug sich in diesem Fall als sinnlose Augenweide erweist. Es ist schnell und befreit dich von diesem Problem vollständig. In einer "echten" App würde ich wahrscheinlich diesen Weg nehmen, aber ich bin immer noch daran interessiert, wie man damit umgehen und trotzdem nicht kollidierende URLs völlig frei von irgendwelchen IDs machen kann. –
Ich sollte auch beachten, dass dies der gleiche Ansatz zu sein scheint, den SO verwendet, wenn Sie auf die URL-Leiste blicken :) –
Nun, es sieht so aus, als wäre ich in guter Gesellschaft. Was die Beseitigung aller IDs betrifft, sind die beiden anderen Antworten definitiv der richtige Weg. Als ich anfing, Dinge zu verprügeln, benutzte ich eine einzigartige Slug-Methode, die ich irgendwo gefunden habe (sie ist fast identisch mit der, die Zalew gepostet hat). – Adam