• python测试开发django(5)--模板templates


    前言

    html是一个静态的语言,里面没法传一些动态参数,也就是一个写死的html页面。如果想实现在一个固定的html样式,传入不同的参数,这就可以用django的模板传参来解决。

    模板参数

    先在xjyn应用下新建一个templates文件夹,层级目录如下

     新建一个a.html文件,xjyn/templates/a.html文件内容如下,模板变量用{{变量名称}}来表示

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>武汉-会</title>
    
    </head>
    <body>
    <p>
        欢迎{{name}}同学学习django!
        <br>
    </p>
    </body>
    </html>
    

     在settings.py脚本里面添加模板的路径,修改TEMPLATES中的DIRS为

    [BASE_DIR+"/xjyn/templates"]
    

     BASE_DIR的值前面已经定义为当前脚本的路径:

    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    

     视图与url

    xjyn/views写个视图函数,内容如下

    from django.shortcuts import render
    from django.http import HttpResponse,Http404
    # Create your views here.
    
    def he(request):
        context={}
        context['name']='会会'
        return render(request,"a.html",context)
    

     xjyn/urls.py添加访问路径

    #helloworld/helloworld/urls.py
    from django.conf.urls import url
    from django.urls import re_path,path
    from xjyn import views
    
    urlpatterns=[
      url('^hui$',views.he),
    ]
    

     接着在浏览器输入地址:http://127.0.0.1:8000/hui 就能访问了

     Django模板标签

    if/else标签

    条件判断if语句,最后endif结束

    {% if condition1 %}
       ... display 1
    {% elif condition2 %}
       ... display 2
    {% else %}
       ... display 3
    {% endif %}
    

     for标签

    与Python的for语句的情形类似,循环语法是for X in Y,Y是要迭代的序列而X是在每一个特定的循环中使用的变量名称。

    每一次循环中,模板系统会渲染在{% for %}和{% endfor %}之间的所有内容。

    <ul>
    {% for athlete in athlete_list %}
        <li>{{ athlete.name }}</li>
    {% endfor %}
    </ul>
    

     ifequal/ifnotequal 标签

    {% ifequal %} 标签比较两个值,当他们相等时,显示在{% ifequal %}和{% endifequal %}之中所有的值。

    下面的例子比较两个模板变量user 和 currentuser:

    {% ifequal user currentuser %}
        <h1>Welcome!</h1>
    {% endifequal %}  

     和{% if %}类似,{% ifequal %}支持可选的{% else %}标签

    {% ifequal section 'sitenews' %}
        <h1>Site News</h1>
    {% else %}
        <h1>No News Here</h1>
    {% endifequal %}
    

     注释标签

    Django 注释使用{# #}

    {# 这是一个注释 #}
    

      

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    第七周上机
    第六周作业
    第六周上机作业
    第五周上机作业
    java第四周作业
    上机作业
    第三次java作业
    java作业
    第七周作业
    JAVA第七周上机作业
  • 原文地址:https://www.cnblogs.com/canglongdao/p/14094258.html
Copyright © 2020-2023  润新知