0
点赞
收藏
分享

微信扫一扫

Python经典前端框架:Django,第四天【Django基础教学--模板】



Django基础教学--模板

  • ​​Django基础教学--模板​​
  • ​​模板(templates)​​
  • ​​创建模版文件夹及模版文件​​
  • ​​模版优化​​
  • ​​模版标签-变量​​
  • ​​模版标签-列表​​
  • ​​模版标签-if​​
  • ​​模版标签-for​​


Django基础教学–模板

模板(templates)

  • django中的模板控制着前端的静态⻚⾯,⼀个完成的web应⽤是少不了前端静态数据的
  • 也可以在视图中构建前端内容,但是那种⽅式耦合度太⾼,不便于我们分类管理的思想
  • 我们利⽤模板:templates 构建我们的前端数据

创建模版文件夹及模版文件

  • 创建项⽬–>创建应⽤–>注册应⽤ -->在应⽤目录中添加​模版⽬录​(templates)–>在模版目录中添加​模板文件Python经典前端框架:Django,第四天【Django基础教学--模板】_python
  • 模版文件内编写如下代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>无涯</title>
</head>
<body>
<p>
hello 我是无涯
</p>
</body>
</html>
  • 编辑视图views.py
def home_html(requests):
return render(requests, "hello.html")
  • 编辑urls.p文件
# 导入views的home_html方法
from testapp.views import home_html

urlpatterns = [
path("hello/", home_html)
]
  • 总结

模版文件中的html代码字段p字段中的变量是固定写死的,为了灵活的变化,我们进行一些优化,写成变量方式

模版优化

模版标签-变量

  • 修改模版文件

  • 语法:{{key1}}{{key2}}{{key3}}

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>无涯</title>
    </head>
    <body>
    <p>
    {{key1}}{{key2}}{{key3}}
    </p>
    </body>
    </html>
  • 编辑视图views.py

def home_1(requests):
data = {"key1": "hello", "key2":"无涯"}
return render(requests, "hello.html", context=data)
  • 编辑urls.p文件
# 导入views的home_1方法
from testapp.views import home_1

urlpatterns = [
path("hello/1", home_1)
]

模版标签-列表

  • 编辑视图views.py
def home_2(requests):
data = {"list": ["hello", "无涯"]}
return render(requests, "hello.html", context=data)
  • 编辑urls.p文件
# 导入views的home_2方法
from testapp.views import home_2

urlpatterns = [
path("hello/2", home_2)
]
  • 新建html2.html文件
  • 通过列表的下标取值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>无涯</title>
</head>
<body>
<p>
{{list.0}}{{list.1}}
</p>
</body>
</html>

模版标签-if

  • 编辑视图views.py
# 随机数模块
import random

def if_view(request):

views_num = random.randint(0, 100)
# 注意:num变量名要与html文件中的变量名num一致
# if.html就是html文件名
return render(request, "if.html", {"num": views_num})
  • 编辑urls.p文件
# 导入模块
from testapp.views import if_view

urlpatterns = [

path('if/', if_view)
]
  • 新增if.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>无涯</title></head><body>
<p>
{%if num > 90 and num <= 100 %}
{{num}} : good
{% elif num > 60 and num <= 90 %}
{{num}} : 及格
{% else %}
{{num}} : 扯蛋,考成这样!
{% endif %}
</p>
</body>
</html>

模版标签-for

  • 编辑视图views.py
def for_view(request):

views_list = ["无涯", "一凡", "Django", "基础", ]
# 注意:views_list变量名要与html文件中的变量名views_list一致
# for.html就是html文件名
return render(request, "for.html", {"views_list": views_list})
  • 编辑urls.p文件
from testapp.views import for_view

urlpatterns = [ path('for/', for_view)]
  • for新增for.html
html
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<title>for</title>
</head> <body>
<p>
{% for i in views_list %}
{{ i }}
{% endfor %}
</p>
</body>
</html>

如果想学习软件测试,就快加入:893694563,群内学软件测试,分享技术和学习资料,陪你一起成长和学习。



举报

相关推荐

0 条评论