2017-05-23 4 views
1

Ich bin ein Anfänger in Django-Oscar und ich versuche, eine neue Ansicht auf der Seite zu verwalten.Wie neu erstellte Seite URL zu modifizieren Django-Oscar

ich bereits zwei Seiten mit django-oscar-Dashboard erstellt haben,

https://ibb.co/cM9r0v

und machte neue Schaltflächen in den Vorlagen:

Lib/site-packages/oscar/templates/oscar/partials/nav_primary.html

https://gist.github.com/Kalinar/076fc8144869c3b50fc0bc9e52f825e4

ich keine Ahnung, wie ein guter a href = machen "???" zu neuen Seiten in Buttons ... kann jemand helfen? Vielleicht gibt es einen besseren Weg, kannst du es mir erklären?

Antwort

0

Sie bereits kennen den Titel und natürlich die id der Seite, und jede Seite ist eine Instanz des Modells PagePromotion, fragen Sie einfach das Modell für einen solchen Namen/id und das Attribut page_url verwenden der zurückgegebenen Instanz, um es im Kontext der Ansicht, die das Menü rendert, innerhalb einer Variablen zu senden.

Dann in der Vorlage:

href="{{ variable_containing_url }}" 
0

Oscar nutzt Djangos Flatpages App, so dass Sie ihre Vorlagen-Tags dynamisch verwenden können, um auf die Seiten in Navigations-Links hinzufügen, die Sie erstellen.

{% load flatpages %} 
{% get_flatpages as flatpages %} 

{% for page in flatpages %} 
<li class="dropdown active"> 
    <a href="{{ page.url }}" class="dropdown-toggle" {% if not expand_dropdown %} data-toggle="dropdown"{% endif %}> 
     {% trans page.title %} 
    </a> 
</li> 
{% endfor %} 

Sie können mehr Informationen über den Flatpages App im Django flatpage documentation finden.

Verwandte Themen