Domanda

Voglio stare lontano dai parametri GET. Non voglio usare POST e ho almeno due diverse categorie per cui creare l'URL.

Ai visitatori viene innanzitutto chiesto di scegliere una posizione che può essere una, ad esempio: http://foo.com/United-States/ || http://foo.com/United-States/California/ || http://foo.com/United-States/California/San-Francisco -Regione / || http://foo.com/United-States/California/San-Francisco/

Una volta selezionata una posizione, possono scegliere una categoria che può essere una, ad esempio:

http://foo.com/Electronics/ || http://foo.com/Electronics/Camera/ || http://foo.com/Electronics/Camera/Digital/ || http://foo.com/Electronics/Camera/Digital/SLR/

Quindi, come potrei fare per combinare entrambi l'URL di cui sopra in uno, una volta terminata la selezione della posizione e della categoria?

Potrei dover passare il numero di pagina per l'impaginazione. ( http://foo.com/page/2/ )

Vorrei mantenere l'URL pulito e autoesplicativo. So come fare un tipo di URL alla volta ma non combinare più tipi.

Se dovessi fare un GET, farei: http://foo.com/?locid=23323 & amp; catid = 335 & amp; page = 2 , ma mi piace approfittare dell'URL pulito di Django e stare lontano dall'amplificatore? &; roba.

Grazie,

VN44CA

È stato utile?

Soluzione

Penso che questo sarebbe per molte informazioni nell'URL. Presumo che ogni posizione abbia il suo ID univoco, lo stesso vale per la categoria. Perché non creare un URL:

http://foo.com/United-States/Electronics/

http://foo.com/California/Digital/

http://foo.com/San-Francisco/SLR/

e così via ...

2 argomenti sono sufficienti nel tuo caso. Oppure puoi cambiare il nome della categoria per renderlo più significativo.

http://foo.com/Electronics/Camera/Digital/ = < !> gt; http://foo.com/Digital-Cameras/

Altri suggerimenti

A seconda di come stai utilizzando i dati sulla posizione e della frequenza con cui un utente vorrà cambiare la posizione, potrebbe essere meglio archiviarlo nella sessione invece di averlo specificato nell'URL.

Ad esempio, è improbabile che inizi a cercare fotocamere digitali reflex a San Francisco e poi vado a cercare pallacanestro a Baltimora.

Ovviamente questo non sarà sufficiente se si desidera permalink a qualsiasi combinazione posizione-categoria.

Dopo aver pensato a questo per un po ', ho scoperto che la soluzione migliore (per me) a questo è di avere una stringa semplicemente contenere tutti gli argomenti di cui ho bisogno in un URL pulito.

Quindi, quando gli utenti arrivano per la prima volta a http://foo.com/ vengono presentati con posizioni da selezionare. I cookie sono vuoti a questo punto.

Quindi, un utente va avanti e seleziona United-State, l'URL apparirà come http: / /foo.com/12334_0_0_0/United-States/ e il cookie di posizione è impostato su 1234 che è l'id per la posizione Stati Uniti.

Ora l'utente seleziona la California e l'URL cambia in http://foo.com/ 1235_0_0_0 / Stati Uniti-California / e il cookie viene sostituito dagli Stati Uniti al 1235, che è l'id della posizione California. A questo punto l'utente seleziona Categoria Elettronica. quindi l'URL cambia in http://foo.com/1235_3333_0_0/Electronics/ e 3333 viene salvato nella categoria Cookie.

Se gli utenti passano alla fotocamera SLR, vedrà http: // foo.com/1235_3344_0_0/SLR-Cameras/.

In questo modo, la prima parte dell'URL tiene traccia di un massimo di 4 argomenti che possono essere passati e i nomi (slug) sono solo per presentazione e SEO.

Penso che funzionerebbe bene? Sarebbe bello avere la parte x_y_z_p dell'URL codificata in un testo casuale e decodificare nuovamente in args & Amp; numeri.

Fammi sapere cosa ne pensi?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top