zoukankan      html  css  js  c++  java
  • Django 模板

    首先要在配置文件内设置模板路径。

    #模板配置
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            # 设置模板地址,调用os系统模块选择根路径的文件夹名,但是根目录下要有该文件夹
            'DIRS': [os.path.join(BASE_DIR,"templates")],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]

    设置方法并调用render模块导入模板。

    from django.http import HttpResponse,HttpResponseRedirect
    #导入模板解析库
    from django.shortcuts import render
    
    #定义一首页方法
    def index(request):
    
        #定义变量,到模板输出
        test_str = "Hello Wrold"
        test_int = 123
        test_list = ["牛奶","鲜花","咖啡","电视"]
        test_dict = [{"name":"小明","age":18},{"name":"李毅","age":19}]
        content = "hello,I am Jack How du u do?"
        dt = datetime.datetime.now()
        #调用reder方法来解析模板,第一个参数是request,第二个参数是模板名,第三个参数传值
        return render(request,"d2_index.html",{"test_str":test_str,"test_int":test_int,"test_list":test_list,"test_dict":test_dict,"content":content,"dt":dt})

    模板基础语法。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Django首页模板</title>
    </head>
    <body>
        
        欢迎,这里是首页
    
        {# 传统模板语法输出 #}
        {{ test_str }} <br>
    
        {# 加法运算 通过调用内置过滤器来实现加法运算 #}
        {{ test_int | add:-10 }} <br>
    
        {# 模板输出list #}
        {{ test_list }} <br>
    
        {{ test_list.0 }} <br>
    
        {% for item in test_list %}
            {{ item }}
    
            {# 打印索引 counter 从一开始的计数器 #}
            {{ forloop.counter }} 
    
            {# 打印数组索引 #}
            {{ forloop.counter0 }} 
    
            {# 倒序索引 #}
            {{ forloop.revcounter }}
            
            
            <br>
        {% endfor %}
    
        {% for item in test_dict %}
            {# 取首位和末尾 #}
            姓名:{{ item.name | first }}{{ item.name | last }}  &nbsp 年龄:{{ item.age }}<br>
        {% endfor %}
    
        {# 大小写互转 #}
        {{ "jack" | upper }} <br>
        {{ "ROSE" | lower }} <br>
    
        {# 链式调用 #}
        {{ 'jack' | first | upper }} <br>
    
        {# 返回长度 #}
        {{ '123456' | length }} <br>
    
        {# 截断操作 #}
        截断字符操作{{ content | truncatechars:20 }} <br>
        截断单词操作 {{ content | truncatewords:3 }} <br>
    
        {# 格式化日期 #}
        {{ dt | date:"Y-m-d H:i:s" }}
      
     
    </body>
    </html>
  • 相关阅读:
    grep 精确匹配
    @ARGV
    同时查看多个文件
    R画双y轴图
    R画饼图
    linux的sort排序
    $0
    QQ图
    Config::Std模块安装
    R语言做正态分布检验
  • 原文地址:https://www.cnblogs.com/Niuxingyu/p/10289781.html
Copyright © 2011-2022 走看看