... | ... | @@ -123,4 +123,43 @@ def navbar_user(request): |
|
|
```html
|
|
|
{% load i18n %}
|
|
|
<li><a href="{% url 'tickets:aff-tickets' %}"><i class="fa fa-ticket"></i>{% trans "Tickets" %}</a></li>
|
|
|
``` |
|
|
\ No newline at end of file |
|
|
```
|
|
|
|
|
|
## Autres
|
|
|
|
|
|
Bon c'est un peu toujours le même principe donc on va pas toutes les faire. Le principe générale est le suivant:
|
|
|
* Une vue dans re2o appel une page dans laquelle on veut ajouter un élément. On ajoute dans cette vue l'appel à une vue cannonique si elle est pas déjà présente:
|
|
|
|
|
|
`random_app/views.py:random_vue()`
|
|
|
```python
|
|
|
optionnal_apps = [import_module(app) for app in OPTIONNAL_APPS]
|
|
|
optionnal_templates_contact_list = [app.views.<nom_cannonique>(request) for app in optionnal_apps]
|
|
|
```
|
|
|
|
|
|
* Cette vue appel la vue cannonique qui doit ** obligatoirement ** renvoyer une chaine de caractère. On utilise donc la fonction `render_to_string`:
|
|
|
|
|
|
`<app_optionnelle>/views.py:<nom_cannonique>`
|
|
|
```python
|
|
|
def preferences(request):
|
|
|
""" Vue cannonique de whatever"""
|
|
|
instances = Model.objects.first()
|
|
|
context = {'instances':instances}
|
|
|
return render_to_string('<app_optionnelle/template.html', context=context, request=request)
|
|
|
```
|
|
|
|
|
|
* Le template est généré et renvoyé à la vue de re2o. Il est passé ensuite au template comme toute autre variable.
|
|
|
|
|
|
* Dans le template, tout les templates collectés dans les apps optionnelles sont affichés:
|
|
|
```html
|
|
|
{% for template in optionnal_templates_list %}
|
|
|
{{ template }}
|
|
|
{% endfor %}
|
|
|
```
|
|
|
|
|
|
En plus des vues citées plus haut, d'autres ont étée crées:
|
|
|
|
|
|
* navbar_user: Pour afficher un onglet dans la navbar dans le sous onglet `users`.
|
|
|
* navbar_logout: Idem dans la navbar quand l'user n'est pas connecté.
|
|
|
* contact: Pour afficher une adresse mail dans la page contact.
|
|
|
|
|
|
On peut en créer d'autres à volonter, il faut cependant garder en tête de ne rien harcodé concernant les apps dans re2o. Have Fun ! |