django示例_介绍信模板

django示例_介绍信模板前言目前市面上有非常多的模板系统,其中最知名最好用的就是DTL和Jinja2。DTL是DjangoTemplateLanguage三个单词的缩写,也就是Django自带的模板语言。当然也可以配置

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

目前市面上有非常多的模板系统,其中最知名最好用的就是DTLJinja2DTLDjango Template Language三个单词的缩写,也就是Django自带的模板语言。当然也可以配置Django支持Jinja2等其他模板引擎,但是作为Django内置的模板语言,和Django可以达到无缝衔接而不会产生一些不兼容的情况。
 

DTL与普通的HTML文件的区别:

DTL模板是一种带有特殊语法的HTML文件,这个HTML文件可以被Django编译,可以传递参数进去,实现数据动态化。在编译完成后,生成一个普通的HTML文件,然后发送给客户端。
 

渲染模板

渲染模板有多种方式。这里讲下两种常用的方式。

  1. render_to_string:找到模板,然后将模板编译后渲染成Python的字符串格式。最后再通过HttpResponse类包装成一个HttpResponse对象返回回去。示例代码如下:
 from django.template.loader import render_to_string
 from django.http import HttpResponse
 def book_detail(request,book_id):
     html = render_to_string("detail.html")
     return HttpResponse(html)
  1. 以上方式虽然已经很方便了。但是django还提供了一个更加简便的方式,直接将模板渲染成字符串和包装成HttpResponse对象一步到位完成。示例代码如下:
 from django.shortcuts import render
 def book_list(request):
     return render(request,'list.html')

 

模板查找路径配置

在项目的settings.py文件中。有一个TEMPLATES配置,这个配置包含了模板引擎的配置,模板查找路径的配置,模板上下文的配置等。模板路径可以在两个地方配置。

  1. DIRS:这是一个列表,在这个列表中可以存放所有的模板路径,以后在视图中使用render或者render_to_string渲染模板的时候,会在这个列表的路径中查找模板。
  2. APP_DIRS:默认为True,这个设置为True后,会在INSTALLED_APPS的安装了的APP下的templates文件加中查找模板。
  3. 查找顺序:比如代码render('list.html')。先会在DIRS这个列表中依次查找路径下有没有这个模板,如果有,就返回。如果DIRS列表中所有的路径都没有找到,那么会先检查当前这个视图所处的app是否已经安装,如果已经安装了,那么就先在当前这个app下的templates文件夹中查找模板,如果没有找到,那么会在其他已经安装了的app中查找。如果所有路径下都没有找到,那么会抛出一个TemplateDoesNotExist的异常。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164913.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 邮件服务器软件选择,3款windows下的免费邮件服务器软件

    MacallanMailSolutionMacallanMailSolution是一款POP3、IMAP、SMTP、HTTP(webMail)邮件服务器软件,它还包括了防垃圾邮件机制。MMS免费邮件服务器(SMTP/POP3/IMAP/HTTP/NEWS/SSL/Tunnel)支持MicrosoftWindowsXP™和MicrosoftWindows200…

    2022年4月1日
    110
  • 万能头文件可能产生的副作用_头文件使用std

    万能头文件可能产生的副作用_头文件使用std可能有些大型比赛会禁止使用这个头文件,我个人建议,大家尽量还是熟悉原来的文件比较好哈,要是比赛时实在忘了可以应急使用最近在打一些比赛,翻阅别人的代码时总是会发现一个陌生而奇怪的头文件#include<bits/stdc++.h>奇怪之处就在于基本上所有的代码只要用了这个头文件就不再写其他头文件了。百度过后仿佛打开了新世界的大门,头文件居然还可以这样用!!!#include&lt…

    2022年8月18日
    10
  • Mybatis分页插件使用的详解[通俗易懂]

    Mybatis分页插件使用的详解[通俗易懂]前言关于分页,一般来说rowBounds这种假分页都上不了台面,我们往往都选哟真分页,那么还不想搞得很麻烦,Mybatis的分页插件就为后端程序员解决了这个问题例子首先需要导入依赖,没错pagehelper<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><v

    2022年10月9日
    3
  • 渗透测试技术_Nessus工具(二) _漏洞扫描工具 Nessus的使用教程

    渗透测试技术_Nessus工具(二) _漏洞扫描工具 Nessus的使用教程漏洞扫描工具Nessus的使用教程1、Nessus使用教程1.1、Nessus登录在浏览器中访问:https://{服务器IP}:8834例如访问:https://10.1.1.191:8834/输入你注册的账号密码进行登录,例如:nessus_casb/liaxx,进入主页面。1.2、新建1个主机扫描1.2.1、点击右上角的”NewScan”新建一个扫描1.2.2、选择“BasicNetworkScan”,进行配置项目名称,对项目的描述,以及最重要的目标I.

    2022年10月18日
    4
  • quota的使用方法

    from:http://man.chinaunix.net/linux/how/Quota.html   序言:这份文件的版权由AlbertM.C.Tam(bertie@scn.org)所保留。同意这份文件的使用、复制,因此非商业性的散布是允许的,但是所有的拷贝以及/或是没有修改直接援用的文件上须有作者与编者的名字及这份注意事项。这份文件是因为希望能有所帮助

    2022年4月8日
    49
  • Android 使用动态载入框架DL进行插件化开发

    Android 使用动态载入框架DL进行插件化开发

    2022年1月26日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号