project /p1.htmlをロードするindex.htmlがあり、project/p2.htmlをロードします。project/p1.htmlとproject/p2.htmlはそれぞれ独自に正常に読み込まれるため、正しく機能することがわかります。問題は、project/p1.htmlをindex.htmlにロードしようとしていることです。
{% include 'project/p1.html' %}
project/p1.htmlには次のステートメントがあります。
{% include 'project/p2.html' %}
index.htmlをロードすると、次のエラーが発生します。
VariableDoesNotExist at /
Failed lookup for key [objects] in u"[{'params': {}}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7fd3dc0e2410>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7fd3dc0e2210>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7fd3dc10c790>}, {},......
project /p1.htmlから"{%include'project / p2.html'%}"を削除すると、index.htmlが正常に読み込まれ、エラーメッセージが表示されなくなります(ただし、明らかにコンテンツが表示されません)。
これを解決するにはどうすればよいですか?
編集:ここに「project / p2.html」:
<table class="mytable">
{% for object in objects %}
<tr class="my_row">
<td>{{ object.name }}</td>
</tr>
{% endfor %}
</table>
これがviews.pyです:
from models import Mytable
from django.shortcuts import render_to_response, RequestContext
def my_request(request,
template="project/p1.html",
page_template="project/p2.html"):
context = {
'objects': Mytable.objects.all().order_by('-date'),
'page_template': page_template,
}
if request.is_ajax():
template = page_template
return render_to_response(template, context,
context_instance=RequestContext(request))