• Django 模版语法 一


    创建项目 django_template 和 app

    django-admin startproject django_template
    python manage.py startapp app01
    

    在 settings.py 中修改

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'app01',
    ]
    
    ...
    
     'DIRS': [os.path.join(BASE_DIR, 'templates')],
    

    在 urls.py 中修改:

    from django.contrib import admin
    from django.urls import path
    from app01 import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('index/', views.index),
    ]
    

    在 views.py 中添加函数

    def index(req):
        s="hello"
        s2=[1,22,333]
        return render(req,"index.html",{"list":s2})
    
    

    创建 templates 文件夹,添加 index.html 文件,获取第三个数组的值

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>Template</h1>
    {{ list.2 }}
    </body>
    </html>
    
    python manage.py runserver 8000
    

    访问 http://127.0.0.1:8000/index/

    传递字典

    在 views.py 中添加

    def index(req):
        s="hello"
        s2=[1,22,333]
        s3={"username":"klvchen", "age":30}
        return render(req,"index.html",{"obj":s3})
    
    

    在 index.html 中修改

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>Template</h1>
    {{ obj }}
    {{ obj.username }}
    </body>
    </html>
    

    传递时间

    在 views.py 中添加

    from django.shortcuts import render
    import datetime
    
    # Create your views here.
    
    def index(req):
        s="hello"
        s2=[1,22,333]
        s3={"username":"klvchen", "age":30}
        s4=datetime.datetime.now()
        return render(req,"index.html",{"obj":s4})
    

    在 index.html 中修改

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>Template</h1>
    {{ obj.year }}
    {{ obj.month }}
    </body>
    </html>
    

    传递类

    在 views.py 中添加

    import datetime
    
    # Create your views here.
    
    def index(req):
    
        class Person:
            def __init__(self, name, age):
                self.name = name
                self.age = age
    
        s="hello"
        s2=[1,22,333]
        s3={"username":"klvchen", "age":30}
        s4=datetime.datetime.now()
        s5=Person("klvchen", 30)
        return render(req,"index.html",{"obj":s5})
    

    在 index.html 中修改

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>Template</h1>
    {{ obj.name }}
    {{ obj.age }}
    {{ obj }}
    </body>
    </html>
    

    {% if %} ,{% for %}的使用

    在 views.py 中修改

    def index(req):
    
        s="hello"
        s2=[1,22,333]
        return render(req,"index.html",{"obj":s2})
    

    在 index.html 中修改

    {% if True %}
        <p>hello world</p>
    {% endif %}
    
    #循环数组
    {% for i in obj %}
        <p>{{ i }}</p>
    {% endfor%}
    
    #显示下标
    {% for i in obj %}
        <p>{{ forloop.counter}}:{{ i }}</p>
        <!-- 下标从0 开始 -->
        <p>{{ forloop.counter0}}:{{ i }}</p>
        <!-- 倒序 -->
        <p>{{ forloop.revcounter}}:{{ i }}</p>
    {% endfor %}
    
  • 相关阅读:
    Nginx的安装与部署
    什么是Nginx?为什么使用Nginx?
    spark 中的RDD编程 -以下基于Java api
    java反射
    POST-GET请求
    Spring Boot 专栏
    【Shiro】Apache Shiro架构之身份认证(Authentication)
    maven项目如何启动运行---发布到tomcat中
    一位资深程序员大牛给予Java初学者的学习路线建议
    SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
  • 原文地址:https://www.cnblogs.com/klvchen/p/10815351.html
Copyright © 2020-2023  润新知