Django Template模板
Django Template
你可能已经注意到我们在例子视图中返回文本的方式有点特别。 也就是说,HTML被直接硬编码在 Python 代码之中。
下面我们来调用html
views
def index(request,user):
if request.method == 'GET':
user_info = {
'username':'alex',
'name':'Alex Li'
}
return render(request,'app01/index.html',{'user_obj':user_info})
else:
return HttpResponse("transfered 10000 to ")
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Payment</title>
</head>
<body>
<h1>Welcome to Oldboy shopping</h1>
<h2>username: {{ user_obj.username }}</h2>
<h2>name: {{ user_obj.name }}</h2>
</body>
</html>
项目urls
urlpatterns = [
url(r'^$',views.index),
url(r'cash/$',views.pay_by_cash),
]
总项目urls
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^payment/',include(payment_urls),{'user':'alex'})
]
访问 http://127.0.0.1/payment
Django 模板渲染
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Payment</title>
</head>
<body>
<h1>Welcome to Oldboy shopping</h1>
<ul>
{% for user_obj in user_objs %}
{% if user_obj.username == 'alex3' %}
<li style="background-color: chartreuse">username:{{ user_obj.username }},name:{{ user_obj.name }}</li>
{% else %}
<li>username:{{ user_obj.username }},name:{{ user_obj.name }}</li>
{% endif %}
{% endfor %}
</ul>
</body>
</html>
views
def index(request,user):
if request.method == 'GET':
user_infos = [
{'username':'alex','name':'AlexLi'},
{'username':'alex2','name':'AlexLi2'},
{'username':'alex3','name':'AlexLi3'},
{'username':'alex4','name':'AlexLi4'}
]
# print("user request:",request.GET.get('user'))
return render(request,'app01/index.html',{'user_objs':user_infos})
# return HttpResponse("welcome to payment index.......%s" %user)
else:
return HttpResponse("transfered 10000 to ")
设置从哪一行开始
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Payment</title>
</head>
<body>
<h1>Welcome to Oldboy shopping</h1>
<ul>
{% for user_obj in user_objs %}
{% if forloop.counter0 > 2 %}
<li style="background-color: chartreuse">username:{{ user_obj.username }},name:{{ user_obj.name }}</li>
{% else %}
<li>username:{{ user_obj.username }},name:{{ user_obj.name }}</li>
{% endif %}
{% endfor %}
</ul>
</body>
</html>
被2整除
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Payment</title>
</head>
<body>
<h1>Welcome to Oldboy shopping</h1>
<ul>
{% for user_obj in user_objs %}
{% if forloop.counter0|divisibleby:"2" %}
<li style="background-color: chartreuse">username:{{ user_obj.username }},name:{{ user_obj.name }}</li>
{% else %}
<li>username:{{ user_obj.username }},name:{{ user_obj.name }}</li>
{% endif %}
{% endfor %}
</ul>
</body>
</html>
Django Template模板的更多相关文章
- django template 模板
九.Template模板 Template 模板是根据view传过来数据在html展示的功能,典型python 模板jinjia2库提供丰富的上下文展示func 创建template位置在项目下与ap ...
- django template模板 母板 include导入
一,使用{% block name %}{% endblock %}定义一个模板,在模板页面中它的内容为空,在各页面用{% block name %}自己的标签内容{% endblock %}调用. ...
- Django基础,Day10 - template 模板引擎与路径设置
作为一个Web框架,Django需要一个方便的方式来生成动态的HTML.最常见的方法依赖于模板.模板包含所需的HTML输出的静态部分以及一些特殊的语法描述如何插入动态内容. Django框架后端默认支 ...
- Django Template(模板)
一.模板组成 组成:HTML代码 + 逻辑控制代码 二.逻辑控制代码的组成 1.变量 语法格式 : {{ name }} # 使用双大括号来引用变量 1.Template和Context对象(不推荐使 ...
- Django:模板template(一)
把模板的过程.语法.标签.反向地址解析.过滤器.模板继承与HTML转义记下笔记 1.概述及demo 动态生成HTML 模板的设计实现业务逻辑(View)和显示内容(template)的分离 一个模板可 ...
- Django之模板Template
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...
- Django之模板配置(template)
Django模板系统 官方文档 jinja2模块中文 jinja2模块官方 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Djan ...
- Django基础——模板层(template) (Day67)
阅读目录 变量 标签 自定义过滤器和标签 模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 ...
- django基础2: 路由配置系统,URLconf的正则字符串参数,命名空间模式,View(视图),Request对象,Response对象,JsonResponse对象,Template模板系统
Django基础二 request request这个参数1. 封装了所有跟请求相关的数据,是一个对象 2. 目前我们学过1. request.method GET,POST ...2. reques ...
随机推荐
- VS2013使用EF与mysql数据库.
一个VS2013的mvc+EF+mysql的项目,需要连接Mysql数据库 一,下载一个mysql-for-visualstudio-1.2.3.msi,在自己的电脑上安装,这个是解决在创建实体模型( ...
- 使用 Spark MLlib 做 K-means 聚类分析[转]
原文地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-spark-practice4/ 引言 提起机器学习 (Machine Lear ...
- 【LeetCode】456. 132 Pattern
Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such that ...
- c#.net 获取时间日期年月日时分秒格式
今天写代码发现两个比较不错的分享下:1.DateTime.ParseExact很多时候我们获取的时间是数字形式表示的,好比20140127134015.927856,通过这个方法DateTime.Pa ...
- MySQL字符串类型
VARCHAR类型用于存储变长字符串,它会删除末尾的所有空格,它比定长字符串更省空间,因为它仅使用必要的空间(越短的字符串占用越少),VARCHAR会用1或2个额外字节记录字符串长度(如果字符串长度不 ...
- 2、使用Struts2实现登录功能(没有连接数据)
1.创建如下的目录结构 2.在com.entity包下创建 package com.entity; /** * 用户类 * @author Holly老师 * */ public class User ...
- Linux C/C++编译环境搭建
1. 配置GCC,LInux 在安装后已经有GCC了,但可能文件不全,我们可以利用 sudo apt-get install build-essential 安装 2. 安装文本编辑器 sudo ap ...
- Python之异步IO&RabbitMQ&Redis
协程: 1.单线程运行,无法实现多线程. 2.修改数据时不需要加锁(单线程运行),子程序切换是线程内部的切换,耗时少. 3.一个cpu可支持上万协程,适合高并发处理. 4.无法利用多核资源,因为协程只 ...
- 动态封杀与解封IP
不论IIS6还是IIS7 都可以把需要封杀的IP加入封杀列表.但是需要注意的是我们代码写的是全部替换原先的数据.但是在IIS7下,执行的效果是原先的不替换,新加一批封杀 IP.当然IIS7下,如果新加 ...
- 2015 Multi-University Training Contest 6
1001 Average 忍不住又补了一题. 只要枚举1与2之间1给2,2给1,什么都不做三种状态. 后面的情况都已经决定了. (估计只有我比赛的时候把a candy当成a个糖果了吧QAQ) # in ...