当前位置: 首页 > news >正文

使用Code开发Django_模版和CSS

转到定义 和 查看定义

在使用Django或任何其他库的过程中,我们可能需要检查这些库中的代码。VS Code提供了两个方便的命令,可以直接导航到任何代码中的类和其他对象的定义:

  • 转到定义 在Python开发环境中,我们可以轻松地对函数、类或者其他导入模块中的成员使用“Go to Definition”,以便深入研究其内部实现。这一功能对于调试、重构代码以及学习他人代码库特别有用。 当点击或使用快捷键激活此功能时,Code会直接跳转到源代码中该符号被首次声明或定义的位置,这有助于程序员理解代码的工作原理以及如何被实现。例如,在文件 views.py中, 右击 home 函数中的 HttpResponse 选择 Go to Definition (快捷键F12), Code打开Django的库,显示HttpResponse的定义。如截屏

  • 查看定义 (Alt+F12和右键菜单), “Peek Definition”可以帮助我们快速查看某个函数或类的定义,同时保持对当前代码编辑位置的关注,这样就可以在不离开当前工作区的情况下了解相关代码结构和实现细节。相关定义的代码直接在当前文件内显示,并不单独单开文件,退出方式: ESC键,右上角的关闭按钮。

    Django tutorial: Peek Definition showing the Flask class inline

使用模板生成网页

上个例子中我们仅仅创建了简单的文字网页.  我们还需要构建更复杂的网页,虽然可以通过代码直接生成HTML,但是开发人员一般不会如此操作,从而可以避免网站受到XSS攻击(cross-site scripting (XSS) attacks.) 

一个更好是使用实践是,在编程过程中不使用HTML文件,用templates来代替。这样的话在程序中只需要考虑数据而不需要考虑格式。

Django中的模版是包含数据占位符的HTML文件。程序运行时,Django模板引擎负责在呈现页面时进行数据和占位符之间的替换,并提供自动转义以防止XSS攻击(也就是说,如果您尝试在数据值中使用HTML,则会看到HTML仅以纯文本形式呈现)。这样的设计下,代码只关心数据值,而模板只关心标记(占位符)。Django模板提供了灵活的选项,如模板继承,它允许我们定义一个带有公共标记的基础页,然后在该基础页上添加特定的页面内容。

本章节中,我们先采用模版创建一个单页。然后通过CSS文件进行相关的格式配置,和含有公共标记的多页模版。Django模版还支持 Controll flow(控制流,编程)和iteration(迭代)

  1. 修改 web_project/settings.py 文件, 在 INSTALLED_APPS 表中增加下面的输入。该输入的作用是确保项目知道hello这个app的存在。

    'hello',
    
  2. hello 文件夹内创建templates文件夹, 在templates中创建子目录 hello 与app名字保持一致 (两级目录结构是经典的Django结构convention).

  3. 在 templates/hello 目录中, 创建文件 hello_there.html 内容如下. 该模版包含两个数据占位符名字为“name”和“date”。占位符用两个花括号表示{{ and }}. 其他内容为标砖的HTML文件格式。 模版占位符也可以在管道(pipe)符号"|"后包含格式 。在本利中使用Django内置的 date filter 和 time filter,在代码中可以仅传递datetime的数值,不需要考虑格式。

    <!DOCTYPE 
http://www.lryc.cn/news/339303.html

相关文章:

  • Llama 3下月正式发布,继续开源!
  • 有图片转成PDF文件格式的方法吗?分享图片转成PDF文件的方法
  • 数据结构---绪论
  • matlab 安装 mingw64(6.3.0),OPENEXR
  • 最新彩虹知识付费商城源码 V3.4
  • Redis实现延迟任务的几种方案
  • 一种springboot请求参数校验的实现方案
  • 盒子模型+响应式布局 + 原型链与继承
  • 面试准备 集合 List
  • Java快速入门系列-7(测试与调试)
  • 算法:双指针
  • MySQL一些特殊功能的索引(6/16)
  • ES11-12
  • 【学习笔记】Vue3源码解析:第三部分-获取computed的值;实现computed
  • 顺序表(C语言版)
  • Python高质量函数编写指南
  • 探索Spring、Spring Boot和Spring Cloud的奇妙关系(二)
  • Mysql的事务隔离级别以及事务的四大特性。
  • 人工智能_大模型023_AssistantsAPI_01_OpenAI助手的创建_API的调用_生命周期管理_对话服务创建---人工智能工作笔记0159
  • 锁策略总结
  • 蓝桥杯备考day2
  • Mac电脑安装蚁剑
  • 品牌百度百科词条创建多少钱?
  • Linux安装及管理程序
  • Mybatis generate xml 没有被覆盖
  • MercadoLibre(美客多)入仓预约系统操作流程-自动化约号(开篇)
  • Unity TextMeshProUGUI 获取文本尺寸·大小
  • Sonar下启动发生错误,elasticsearch启动错误
  • Git常用命令以及异常信息汇总
  • 解释Python中的RESTful API设计和实现