2011-01-22 14 views
7

estoy tratando de utilizar django-sitetree pero no entienden cómo hacer el paso 3, que es:Cómo usar django-sitetree?

"Ir al sitio Django Admin y añadir algunos árboles y elementos del árbol."

¿Cómo hacer un sitetree en el panel de administración? Creo que el primer paso es elegir un alias para el "Árbol del sitio" que está por agregar.

El siguiente paso es agregar "Elemento de árbol del sitio". En esta página, debe elegir padre, título, url. Teniendo en cuenta que mi aplicación es dinámica con una estructura de URL como esta localhost:8000/categoryname/entryname ¿cómo elijo las URL?

Por cierto, estoy tratando de agregar migas de pan en mis plantillas.

Respuesta

18

Para crear un árbol:

  1. panel de administración del sitio Goto;
  2. Haz clic en + Añadir cerca de 'Árboles del sitio';
  3. Ingrese un alias para su sitetree, p. 'maintree'.
    Dirigirá su árbol por este alias en etiquetas de plantilla;
  4. Pulse 'Agregar elemento del árbol del sitio';
  5. crear el primer elemento:

    Padres: Como es elemento raíz que no tendría ningún padre.
    Título: Let it be 'My site'.
    URL: Esta URL es estática, por lo tanto, ponga aquí '/'.

  6. Crear segundo artículo (que uno manejaría 'categoryname' de su 'categoryname/nombreEntrada'):

    Padres: Elija el elemento 'Mi sitio web' desde el paso 5.
    Título: Ponga aquí 'Categoría # {{category.id}}'.
    URL: Ponga la URL con nombre 'category-detailed category.name'.
    En 'Configuraciones adicionales': marca 'URL como patrón'.

  7. Crear tercer punto (que uno manejaría 'nombreEntrada' de su 'categoryname/nombreEntrada'):

    Padres: Elija 'Categoría # {} {} category.id' elemento desde el paso 6.
    Título: Ponga aquí 'Entry # {{entry.id}}'.
    URL: Ponga la URL con nombre 'entry-detailed category.name entry.name'.
    En 'Configuraciones adicionales': marca 'URL como patrón'.

  8. Ponga '{% load sitetree%}' en su plantilla para tener acceso a las etiquetas de sitetree.
  9. Ponga '{% sitetree_menu de "maintree"%}' en su plantilla para representar el menú.
  10. Ponga '{% sitetree_breadcrumbs de "maintree"%}' en su plantilla para renderizar las migas de pan.

Pasos 6 y 7 necesitan algunas aclaraciones:

  • En títulos que utilizan variables de plantilla de Django, que podrían resolverse igual que lo hacen en sus plantillas.

    ej .: usted hizo su punto de vista de 'categoryname' (vamos a llamarlo 'detailed_category') para pasar a la categoría de objeto en la plantilla como variable de 'categoría'. Supongamos que ese objeto de categoría tiene una propiedad 'id'. En su plantilla, usa '{{category.id}}' para representar id. Y lo hacemos simplemente el mismo para el artículo árbol del sitio en el paso 6.

  • en las URL que utilizamos patrones de URL con nombre de Django (documentation). Eso es casi idéntico al uso de la etiqueta Django 'url' en las plantillas. configuración

    sus URL para los pasos 6, 7 supone que incluyen:

    url (r '^ (P <category_name> \ S +)/(P <nombre_entrada> \ S +)/$?', 'detailed_entry', name = 'entrada detallada '),
    url (r'^(? P <category_name> \ S +)/$', 'detailed_category', name = 'categoría detallada'),

    Por lo tanto, colocando 'entry-detailed category.name entry.name' en el paso 7 en el campo URL le decimos a sitetree que asocie ese elemento de sitetree con la URL llamada 'entry-detailed', pasando a los parámetros category_name y entry_name.

espero que esta descripción debe llenar el vacío documentación%)

+0

Woah! No esperaba esta respuesta integral. Muchas gracias. – Sushi

+0

@Sushi De nada. –

+0

@idlesign En el ejemplo, ¿están relacionados 'entry_name' en el URLconf y' entry.name' en el campo URL? Si es así, ¿cómo se establece esta relación? No veo cómo están conectados los dos. – Romildo