我尝试制作一个包含模板的模板。是否可以通过html文件名来包含?
现在我使用此代码。
{% include "edit_course.html" %}
但是我想用上下文值代替“ edit_course.html”。
{% include {{name}} %}
我该怎么做?
编辑:这是我的views.py
from django.shortcuts import render
def index(request):
if request.method == "POST":
print("POST")
return render(request, 'main.html')
else:
print(request.GET.get('opt', ''))
if request.GET.get('opt', '') == 'new_student':
return render(request, 'main.html', {'url': 'new_profile.html',})
elif request.GET.get('opt', '') == 'new_crew':
pass
elif request.GET.get('opt', '') == 'new_course':
pass
elif request.GET.get('opt', '') == 'edit_student':
pass
elif request.GET.get('opt', '') == 'edit_course':
pass
elif request.GET.get('opt', '') == 'report':
pass
else:
pass
return render(request, 'main.html')
答案 0 :(得分:2)
将其放入模板:
{% include url %}
但是最好将'url'重命名为'template_name'或此字符串return render(request, 'main.html', {'url': 'new_profile.html',})
答案 1 :(得分:1)
您可以通过将子模板的名称传递到主模板中的主模板来做到这一点。视图,如下所示加载 主模板:
from django.shortcuts import render
render(request, "mainTemplate.html", context={"name":"edit_course.html"})
在您的mainTemplate.html
中:
{% with name as sub_template %}
{% include sub_template %}
{% endwith %}