Je suis un débutant Django et je suis incapable de réaliser quelque chose de trivial. S'il vous plait, j'ai besoin de votre aide avec ceci.Comment puis-je obtenir une variable passée dans un modèle inclus dans django
- Je suis en train une pgurl variable dans mon views.py
- Am en mesure d'accéder à la variable {{}} pgurl dans mon modèle de with_tag.html. Ce modèle comprend un modèle de pagination.html en lui-même
- En pagination.html Je ne peux pas utiliser la variable {{}} pgurl et rien est imprimé
Comment puis-je obtenir cette variable passée dans le modèle inclus ?
views.py
def with_tag(request, tag, template_name='main/with_tag.html', current_page=1, pgurl=''):
if request.method == 'GET':
query_tag = Tag.objects.get(name=tag)
primes = TaggedItem.objects.get_by_model(Prime, query_tag)
primes = primes.order_by('-date')
request.page = current_page
tcm_pp = TCM_ITEMS_PER_PAGE
pgurl = request.path
else:
return HttpResponseRedirect(request.path)
return direct_to_template(request, template_name, { 'primes' : primes, 'prime_total' : Prime.objects.count(), 'now': datetime.now(), 'page' : current_page, 'tcm_pp' : tcm_pp, 'tag' : tag, 'pgurl' : pgurl })
with_tag.html
{% extends "base.html" %}
{% load comments %}
{% load pagination_tags %}
...
{% include "pagination.html" %}
{% paginate %}
pagination.html
{% if is_paginated %}
{% load i18n %}
<div class="pagination">
{% if page_obj.has_previous %}
<a href="{{ pgurl }}{{ page_obj.previous_page_number }}{{ getvars }}" class="prev">‹‹ {% trans "previous" %}</a>
{% else %}
<span class="disabled prev">‹‹ {% trans "previous" %}</span>
{% endif %}
{% for page in pages %}
{% if page %}
{% ifequal page page_obj.number %}
<span class="current page">{{ page }}</span>
{% else %}
<a href="{{ pgurl }}{{ page }}{{ getvars }}" class="page">{{ page }}</a>
{% endifequal %}
{% else %}
...
{% endif %}
{% endfor %}
{% if page_obj.has_next %}
<a href="{{ pgurl }}{{ page_obj.next_page_number }}{{ getvars }}" class="next">{% trans "next" %} ››</a>
{% else %}
<span class="disabled next">{% trans "next" %} ››</span>
{% endif %}
</div>
{% endif %}
La {{pgurl}} seule variable n'apparaît-elle pas dans le modèle inclus? Vous avez d'autres - travaillent-ils tous? – thornomad
@thornomad page getvars page_obj sont affichés mais pas pgurl J'ai essayé d'ajouter cette variable à l'objet de requête mais l'objet request n'est pas non plus passé. – Orca
pouvons-nous voir vos URL? vous avez pgurl = '', alors peut-être que vos URL n'envoient pas pgurl pour remplacer cette valeur par défaut? –