参考文档:

http://www.cnblogs.com/fnng/p/4373108.html

https://code.ziqiangxuetang.com/django/django-intro.html

Django的学习已经丢了很长一段时间了,时值年底,基本工作都差不多了,准备重新捡起来。

学习心得也会有空mark一下!

准备作业:让我们一览 Django 全貌

urls.py
网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。

views.py
处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。

models.py
与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。

forms.py
表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。

templates 文件夹

views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。

admin.py
后台,可以用很少量的代码就拥有一个强大的后台。

settings.py
Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

言归正传,本次主要解决的问题是,通过Django框架将数据库里面的字段显示到前台页面上:

  1. models.py里新建相关表_Author
  2. views.py提供数据查询及返回相关结果_result
  3. urls.py指定相关跳转链接
  4. templates/app/query.html 负责处理views.py的返回值及渲染显示结果

一切ok的话,启动服务器,结果如下:

但是这里有一个问题,我在views.py里面使用的result=Author.objects.values_list() ,是把该表的所有数据都取出来了。如果现在只想取某几个字段的数据(不想要ID字段),目前我的能力有两种方法解决:

1、views.py里面直接查询我想要的字段:

result=Author.objects.values_list('name','qq','addr','email')

结果对比,可以在django shell里面看到:

页面显示效果:

2、views.py里查询条件不变,更改urls里的循环条件,即不输出查询结果列表里面第一个数据(ID字段):

(模板里列表索引取值为 i.n,而不是python里面的i[1])

页面显示效果:

美观一下,加上列标题:

完工!

Tips:

Django 模板查找机制: Django 查找模板的过程是在每个 app 的 templates 文件夹中找(而不只是当前 app 中的代码只在当前的 app 的 templates 文件夹中找)。各个 app 的 templates 形成一个文件夹列表,Django 遍历这个列表,一个个文件夹进行查找,当在某一个文件夹找到的时候就停止,所有的都遍历完了还找不到指定的模板的时候就是 Template Not Found (过程类似于Python找包)。这样设计有利当然也有弊,有利是的地方是一个app可以用另一个app的模板文件,弊是有可能会找错了。所以我们使用的时候在 templates 中建立一个 app 同名的文件夹,这样就好了。

这就需要把每个app中的 templates 文件夹中再建一个 app 的名称,仅和该app相关的模板放在 app/templates/app/ 目录下面

转载于:https://www.cnblogs.com/Eric-Young/p/8298074.html

Django—模板渲染相关推荐

  1. Django模板渲染——(二)

    模板标签 模板是由HTML代码和一些逻辑控制代码组成的,逻辑控制代码除了前面介绍的变量和过滤器,还要一个非常重要的模板标签.模板标签的语法规则是{% tag %},模板标签在渲染的过程中能提供任意的逻 ...

  2. Django的模板渲染(render)机制

    2019独角兽企业重金招聘Python工程师标准>>> 一旦你创建一个 Template 对象,你可以用 context 来传递数据给它. 一个context 是一系列变量和它们值的 ...

  3. Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件

    一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建: 这样一个Django项目就创建完成了,上面可以看到项 ...

  4. Django模板层:DTL模板渲染-变量

    一.模板渲染 render(request, template_name, context=None, content_type=None, status=None, using=None) 返回一个 ...

  5. Django 模板4.1

    模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...

  6. Django模板之django自带模板

    模板 知识点 自带模板 基本使用 流程控制 过滤器 继承 Jinja2模板 配置 CSRF 原理 如何防范 一.Django使用自带模板 1.1 配置 在工程中创建模板目录templates.[然后新 ...

  7. Django2.0——模板渲染(一)

    在前面的介绍中我们都是用简单的 django.http.HttpResponse来把内容显示到网页上,本节将讲解如何使用渲染模板的方法来显示内容,即调用精美的HTML页面.模板的创建既可以在项目下创建 ...

  8. django模板过滤器

    django模板&过滤器 声明:部分信息来源这篇博客https://www.cnblogs.com/maple-shaw/articles/9333821.html MVC: 模型(model ...

  9. flask mysql项目模板渲染_Flask模板渲染

    五.flask模板渲染 py文件: from flask import Flask,render_template,Markup app = Flask(__name__) app.debug = T ...

最新文章

  1. SQL点滴12—SQL Server备份还原数据库中的小把戏
  2. redis中的ziplist
  3. 计算机英语复习,计算机英语期末复习
  4. 【机器学习】如何通俗易懂地阐述机器学习?
  5. java锁实现_Java锁实现
  6. MySQL之索引优化
  7. Android ViewFlipper源码分析
  8. mysql sql查询当天_sql查询当天数据
  9. 计算机最新一区sci,人工智能容易发的SCI期刊_2019中科院jcr期刊分区_2019中科院最新分区...
  10. 分享优秀的微信答题小程序
  11. 计算机什么快捷键是睡眠,电脑睡眠快捷键(ctrl加哪个键是睡眠)
  12. 调用微信扫码接口实现扫一扫功能
  13. 分治法查找最大和次大元素
  14. 实现multi()函数,参数个数不限,返回所有参数的乘积
  15. 深圳旅游區景點及簡介
  16. 集合collection
  17. markdown中编辑复杂表格
  18. python+gurobi
  19. BZOJ 4864: [BeiJing 2017 Wc]神秘物质 解题报告
  20. 揭秘肖特基二极管鲜为人知的秘密特性

热门文章

  1. MySQL 数据库sql命令查询被锁的表实例演示,mysql的锁表与解锁,mysql强制解锁杀掉进程,mysql查询锁表一直转圈
  2. 【BLE】TLSR8258开发记录之10--更改MTU为245
  3. Insertion Sort List
  4. 径向基函数插值(1)
  5. adsafe for linux,新闻|关于网站广告和过滤器的那些事
  6. Pwn-10月21-jarvis-level0
  7. PyQt 5布局管理
  8. Vue笔记(五):Vuex
  9. 如何让关键词进入百度相关搜索列表?
  10. java day07第七课静态的和单例设计模式