Attualmente sto lavorando a un progetto di giocattoli in Django.URL slangificati di Django - come gestire le collisioni?
Parte della mia app consente agli utenti di lasciare recensioni. Mi piacerebbe prendere il titolo della recensione e inserirlo per creare un URL.
Quindi, se un utente scrive una recensione chiamata "La cosa migliore di sempre!", L'url dovrebbe essere qualcosa come: www.example.com/reviews/the-best-thing-ever
.
Questo va tutto bene, ma qual è il modo migliore per gestire casi in cui due utenti scelgono lo stesso titolo? Non voglio rendere il titolo richiesto per essere unico.
Ho pensato di aggiungere l'id di revisione nell'URL da qualche parte, ma vorrei evitare le informazioni aggiuntive per eventuali URL che non entrano in collisione.
Qualche idea?
Questa è la soluzione Stavo considerando, anche se in questo caso, la lumaca si rivela essere un piacere per gli occhi senza senso. È veloce e ti libera completamente da questo problema. In una app "vera" probabilmente prenderei questa strada, ma sono comunque interessato a come si gestirà questo e permetterò comunque agli url non in collisione di essere totalmente liberi da qualsiasi id. –
Dovrei anche notare che questo sembra essere lo stesso approccio che usa SO, se guardi la barra dell'URL :) –
Beh, sembra che io sia in buona compagnia allora. Per quanto riguarda l'eliminazione di tutti gli ID, le altre due risposte sono sicuramente la strada da percorrere. Quando ho originariamente iniziato a fare slugging, ho usato un metodo slug unico che ho trovato da qualche parte (è quasi identico a quello pubblicato da Zalew). – Adam