2012-05-25 5 views
6

Il django-cms utilizza sempre la pagina più in alto come pagina iniziale/di destinazione. Ora desidero avere una navigazione simile a questa foo-home-bar e home come pagina di destinazione.Scegli la pagina iniziale django-cms

Un modo sarebbe aggiungere una pagina fittizia a/che reindirizza a/home, ma questo mi sembra un po 'approssimativo. C'è una soluzione migliore? Non mi interessa cambiare il codice del cms stesso.

risposta

3

Il modo più semplice, invece di creare una pagina che reindirizza, è semplicemente utilizzare la vista generica di reindirizzamento di django.

insieme nel vostro livello superiore urls.py

url(r'^$', RedirectView.as_view(url='/home/')), 

e naturalmente aggiungere il from django.views.generic.base import RedirectView importazione all'inizio e si dovrebbe essere tutto a posto.

('^$' rileva solo l'URL radice e RedirectView reindirizza dove vuoi.Non ero un po 'incerto sull'utilizzo da solo, ma ho visto molti siti Web importanti che eseguono un reindirizzamento quando si accede al proprio sito ...

1

La prima pagina creata sembra essere la home page, è sufficiente aggiungere altre pagine di root secondo necessità e abilitare la navigazione su di esse. Questo è quello che ho fatto.

La nostra prima pagina è stata test, quindi alcune pagine secondarie. nella pagina di amministrazione puoi fare clic e trascinare le pagine per cambiare l'ordine figlio/genitore. rinominiamo il test in home e spostiamo le pagine child in un'altra pagina root.

È anche possibile sovrascrivere il menu predefinito creando un modello nel menu/menu.html Qui è possibile sovrascrivere l'ordine aggiungendo alcune istruzioni if. Si potrebbe anche hardcoded nel vostro base.html avere il menu qualcosa come: <ul id=menu> <li><a href="/foo/>foo></a></li> <li><a href="/">Home</a></li> {% show_menu %} <ul>

e solo bar e le altre pagine si voleva nella navigazione, ma non pippo o casa.

La home page ha un'icona su di essa che le altre pagine non contengono, indicando la pagina radice presumo.

0

La pagina con il tree_id con il numero più basso nella tabella cms_page è la home page. Questa sarà normalmente la prima pagina che hai creato. Se desideri creare una pagina diversa nella tua pagina iniziale, puoi modificare manualmente i valori tree_id nel tuo database (ma sfortunatamente non utilizzando l'amministratore).