Django—模板渲染
参考文档:
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框架将数据库里面的字段显示到前台页面上:
- models.py里新建相关表_Author
- views.py提供数据查询及返回相关结果_result
- urls.py指定相关跳转链接
- 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—模板渲染相关推荐
- Django模板渲染——(二)
模板标签 模板是由HTML代码和一些逻辑控制代码组成的,逻辑控制代码除了前面介绍的变量和过滤器,还要一个非常重要的模板标签.模板标签的语法规则是{% tag %},模板标签在渲染的过程中能提供任意的逻 ...
- Django的模板渲染(render)机制
2019独角兽企业重金招聘Python工程师标准>>> 一旦你创建一个 Template 对象,你可以用 context 来传递数据给它. 一个context 是一系列变量和它们值的 ...
- Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件
一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建: 这样一个Django项目就创建完成了,上面可以看到项 ...
- Django模板层:DTL模板渲染-变量
一.模板渲染 render(request, template_name, context=None, content_type=None, status=None, using=None) 返回一个 ...
- Django 模板4.1
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...
- Django模板之django自带模板
模板 知识点 自带模板 基本使用 流程控制 过滤器 继承 Jinja2模板 配置 CSRF 原理 如何防范 一.Django使用自带模板 1.1 配置 在工程中创建模板目录templates.[然后新 ...
- Django2.0——模板渲染(一)
在前面的介绍中我们都是用简单的 django.http.HttpResponse来把内容显示到网页上,本节将讲解如何使用渲染模板的方法来显示内容,即调用精美的HTML页面.模板的创建既可以在项目下创建 ...
- django模板过滤器
django模板&过滤器 声明:部分信息来源这篇博客https://www.cnblogs.com/maple-shaw/articles/9333821.html MVC: 模型(model ...
- flask mysql项目模板渲染_Flask模板渲染
五.flask模板渲染 py文件: from flask import Flask,render_template,Markup app = Flask(__name__) app.debug = T ...
最新文章
- SQL点滴12—SQL Server备份还原数据库中的小把戏
- redis中的ziplist
- 计算机英语复习,计算机英语期末复习
- 【机器学习】如何通俗易懂地阐述机器学习?
- java锁实现_Java锁实现
- MySQL之索引优化
- Android ViewFlipper源码分析
- mysql sql查询当天_sql查询当天数据
- 计算机最新一区sci,人工智能容易发的SCI期刊_2019中科院jcr期刊分区_2019中科院最新分区...
- 分享优秀的微信答题小程序
- 计算机什么快捷键是睡眠,电脑睡眠快捷键(ctrl加哪个键是睡眠)
- 调用微信扫码接口实现扫一扫功能
- 分治法查找最大和次大元素
- 实现multi()函数,参数个数不限,返回所有参数的乘积
- 深圳旅游區景點及簡介
- 集合collection
- markdown中编辑复杂表格
- python+gurobi
- BZOJ 4864: [BeiJing 2017 Wc]神秘物质 解题报告
- 揭秘肖特基二极管鲜为人知的秘密特性