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模板的更多相关文章

  1. django template 模板

    九.Template模板 Template 模板是根据view传过来数据在html展示的功能,典型python 模板jinjia2库提供丰富的上下文展示func 创建template位置在项目下与ap ...

  2. django template模板 母板 include导入

    一,使用{% block name %}{% endblock %}定义一个模板,在模板页面中它的内容为空,在各页面用{% block name %}自己的标签内容{% endblock %}调用. ...

  3. Django基础,Day10 - template 模板引擎与路径设置

    作为一个Web框架,Django需要一个方便的方式来生成动态的HTML.最常见的方法依赖于模板.模板包含所需的HTML输出的静态部分以及一些特殊的语法描述如何插入动态内容. Django框架后端默认支 ...

  4. Django Template(模板)

    一.模板组成 组成:HTML代码 + 逻辑控制代码 二.逻辑控制代码的组成 1.变量 语法格式 : {{ name }} # 使用双大括号来引用变量 1.Template和Context对象(不推荐使 ...

  5. Django:模板template(一)

    把模板的过程.语法.标签.反向地址解析.过滤器.模板继承与HTML转义记下笔记 1.概述及demo 动态生成HTML 模板的设计实现业务逻辑(View)和显示内容(template)的分离 一个模板可 ...

  6. Django之模板Template

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

  7. Django之模板配置(template)

    Django模板系统 官方文档 jinja2模块中文 jinja2模块官方 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Djan ...

  8. Django基础——模板层(template) (Day67)

    阅读目录 变量 标签 自定义过滤器和标签 模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 ...

  9. django基础2: 路由配置系统,URLconf的正则字符串参数,命名空间模式,View(视图),Request对象,Response对象,JsonResponse对象,Template模板系统

    Django基础二 request request这个参数1. 封装了所有跟请求相关的数据,是一个对象 2. 目前我们学过1. request.method GET,POST ...2. reques ...

随机推荐

  1. VS2013使用EF与mysql数据库.

    一个VS2013的mvc+EF+mysql的项目,需要连接Mysql数据库 一,下载一个mysql-for-visualstudio-1.2.3.msi,在自己的电脑上安装,这个是解决在创建实体模型( ...

  2. 使用 Spark MLlib 做 K-means 聚类分析[转]

    原文地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-spark-practice4/ 引言 提起机器学习 (Machine Lear ...

  3. 【LeetCode】456. 132 Pattern

    Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such that  ...

  4. c#.net 获取时间日期年月日时分秒格式

    今天写代码发现两个比较不错的分享下:1.DateTime.ParseExact很多时候我们获取的时间是数字形式表示的,好比20140127134015.927856,通过这个方法DateTime.Pa ...

  5. MySQL字符串类型

    VARCHAR类型用于存储变长字符串,它会删除末尾的所有空格,它比定长字符串更省空间,因为它仅使用必要的空间(越短的字符串占用越少),VARCHAR会用1或2个额外字节记录字符串长度(如果字符串长度不 ...

  6. 2、使用Struts2实现登录功能(没有连接数据)

    1.创建如下的目录结构 2.在com.entity包下创建 package com.entity; /** * 用户类 * @author Holly老师 * */ public class User ...

  7. Linux C/C++编译环境搭建

    1. 配置GCC,LInux 在安装后已经有GCC了,但可能文件不全,我们可以利用 sudo apt-get install build-essential 安装 2. 安装文本编辑器 sudo ap ...

  8. Python之异步IO&RabbitMQ&Redis

    协程: 1.单线程运行,无法实现多线程. 2.修改数据时不需要加锁(单线程运行),子程序切换是线程内部的切换,耗时少. 3.一个cpu可支持上万协程,适合高并发处理. 4.无法利用多核资源,因为协程只 ...

  9. 动态封杀与解封IP

    不论IIS6还是IIS7 都可以把需要封杀的IP加入封杀列表.但是需要注意的是我们代码写的是全部替换原先的数据.但是在IIS7下,执行的效果是原先的不替换,新加一批封杀 IP.当然IIS7下,如果新加 ...

  10. 2015 Multi-University Training Contest 6

    1001 Average 忍不住又补了一题. 只要枚举1与2之间1给2,2给1,什么都不做三种状态. 后面的情况都已经决定了. (估计只有我比赛的时候把a candy当成a个糖果了吧QAQ) # in ...