1.render_to_string(template_name,context=None,request=None,using=None)函数

template_name模板名称
request请求对象
context模板上下文对象(dict)
using模板引擎名称(如:jinja2)

  1. 1.在项目目录下创建templates文件夹
  2. 2.templates文件夹下创建index.html
  1. 3.添加视图函数
  2. def render_t(request):
  3. temp_names='index.html'
  4. html=render_to_string(template_name=temp_names)
  5. return HttpResponse(html)
  1. 4.添加urls.py
  2. urlpatterns = [
  3. path('world/',hello_world,name='hello_world'),
  4. path('article/<int:month>',views.article,name='article_list'),
  5. path('render/',views.render_t,name='render_t')
  6. ]
  1. 5.修改setting.py文件
  2. TEMPLATES = [
  3. {
  4. 'BACKEND': 'django.template.backends.django.DjangoTemplates',
  5. 'DIRS': ['templates'], //指定模板文件夹是那个
  6. 'APP_DIRS': False, //True表示取模块下的setting,False表示取根目录下的setting
  7. 'OPTIONS': {
  8. 'context_processors': [
  9. 'django.template.context_processors.debug',
  10. 'django.template.context_processors.request',
  11. 'django.contrib.auth.context_processors.auth',
  12. 'django.contrib.messages.context_processors.messages',
  13. ],
  14. },
  15. },
  16. ]

2.render函数

render(
request,
template_name,
context=None,
content_type=None, //MIME类型,默认为text/html
status=None, //http状态码
using=None
)

  1. #与上面的列子只需要二行代码
  2. def render_t(request):
  3. return render(request,'index.html')

多个templates情况下django查找顺序:
image.png