首页 技术 正文
技术 2022年11月15日
0 收藏 394 点赞 5,007 浏览 1957 个字

          运维开发笔记整理-Django的template的使用    

                                   作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

  在上一篇博客中我们学习了HttpResponse 和JsonResponse方法。现在我们来说一下Django内置模板,我们可以把漂亮的网页返回给用户,当然,咱们是学习阶段,主要还是为了方便说名知识点为主,因此在我的html文件只是设计到变量的传递,并不设计css或者js等。

一.加载模板-从文件加载内容案例

1>.loader模块

  django.template.loader这个模块提供了两种方法加载模板:

get_template(template_name, using=None)            #加载指定模板,并返回Template对象
select_template(template_name_list, using=None)        #它和"get_template"方法类似,它尝试每个名称并返回第一个存在的模板

2>.在APP中创建一个templates目录用于存放模板文件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>"这是尹正杰用来测试的网页"</title>
</head>
<body><strong>姓名:</strong>{{ name }}<h3>个人爱好:</h3>
<ul>
{% for item in hobby %}
<li>{{ item }}</li>
{% endfor %}
</ul></body>
</html>

运维开发笔记整理-template的使用

3>.编辑APP中的urls.py文件

#!/usr/bin/env python
#_*_conding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/from django.conf.urls import url
from . import viewsurlpatterns = [
url(r"^$",views.index),
url(r"^login",views.login)
]

4>.编写视图函数

#!/usr/bin/env python
#_*_conding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/from django.http import HttpResponse,JsonResponse
from django.template import Context,loaderdef login(request):
t = loader.get_template("login.html")
context = {
"name": "尹正杰",
"hobby":["Java","Python","Golang","PHP","C++","Shell","VBS"],
}
return HttpResponse(t.render(context, request))def index(request):
data = {
"name":"yinzhengjie",
"age":"",
}
return JsonResponse(data)

5>.启动项目后访问:http://172.30.1.200:8000/dashboard/login

运维开发笔记整理-template的使用

二.使用reader模板可以快速进行网页渲染(说白了就是字符串替换的过程!)

1>.使用render方法加载模板

  是不是觉得上面使用HttpResponse方法返回网页的方式很复杂?其实我们可以使用reader模块进行渲染。

from django.shortcuts import renderdef login(request):
context = {
"name": "尹正杰",
"hobby":["Java","Python","Golang","PHP","C++","Shell","VBS"],
}
return render(request,"login.html",context)

2>.启动项目后,很显然参数是可以传递过来的,地址栏访问:http://172.30.1.200:8000/dashboard/login

运维开发笔记整理-template的使用

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,942
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,468
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,281
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,095
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,728
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,765