möchten Sie möglicherweise die Verwendung von Vorlagen-Tags in Betracht ziehen. Etwas wie das Inclusion-Tag sollte Ihnen gut tun (siehe hier für Dokumentation https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#inclusion-tags)
Sie könnten das takes_context-Argument verwenden, um die Daten zu übergeben. So dass jede Seite, die Sie die Aufnahme-Tag auf Sie verwenden möchten, bereits die Seite mit einem Kontextvariable von ‚Daten‘ in der Ansicht bevölkern könnten dann diese Funktion würde Pickup darauf wie diese
@register.inclusion_tag('/path/to/blog_posts.html', takes_context=True)
def blog_posts(context):
return {
'blog_posts': context['data'],
}
Dann Nutzung in Sie html Datei, die Sie Blogposts in
{% blog_posts %}
Verwendung von jeder Ansicht ziehen möchten. stellen Sie sicher, Datensatz wo immer Sie wollen auch den Template-Tag verwenden
def example_view(request):
context = {'data': Blog.objects.all()}
return render(request, 'example.html', context)
Eine weitere Option ist es explizit passieren in als Argument wie diese
@register.inclusion_tag('/path/to/blog_posts.html')
def blog_posts(context, data):
return {
'blog_posts': data,
}
Dann Nutzung
{% blog_posts data %}
und natürlich würde Ihre blog_posts.html-Datei, die in dem Einschluss-Tag verwendet wird, etwas wie das Überschleifen der Daten
tun
<div>
{% for post in blog_posts %}
<p>{{ post.name}}
{% endfor %}
</div>