准备工作:
1、创建djang项目
2、增加app名称为commen
3、修改settings.py中TEMPLATES中的’DIRS’:
'DIRS': [os.path.join(BASE_DIR, 'templates')]
4、commen目录下新增urls.py
基本知识:
参数输出:
普通值获取直接双花括号即可
列表值的获取为列表名+ . + 索引
字典值的获取为字典名+ . + 键名
循环语句:
注意:一定要有{% endfor %},不然会报语法的错误。
判断语句:
注意:一定要有{% endif %},不然会报语法的错误。
视图函数参数
具体实现
1、完整项目目录:
2、编写commen目录下的
a、urls.py:
from django.urls import path, re_path
from . import views
urlpatterns = [
path('', views.index_handler, name='index'),
path('t1', views.t1_handler, name='t1'),
path('t2', views.t2_handler, name='t2'),
path('t3', views.t3_handler, name='t3'),
path('t4', views.t4_handler, name='t4'),
re_path('re/(\d+)', views.re_handler, name='re'),
]
b、views.py
from django.shortcuts import render,HttpResponse
# Create your views here.
def index_handler(request):
return HttpResponse("Hello commen")
def re_handler(request, num):
return HttpResponse(num)
def t1_handler(request):
context = {
"key1": "你好啊",
'key2': ["Python", "Java"],
"key3": {
"key3_1": "C++",
"key_2": "Go",
}
}
return render(request,'t1.html',context)
def t2_handler(request):
context = {
'hobbys': ["Python", "JAVA", "C"]
}
return render(request, 't2.html', context)
def t3_handler(request):
context = {
'message': "这是一个提示信息,根据style来决定颜色",
'style': 0,
}
return render(request, 't3.html', context)
def t4_handler(request):
return render(request, 't4.html')
PS:t1 t2 t3 t4 各自有对应的html
3、在templates中新增.html文件
{# t1.html #}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>t1</title>
</head>
<body>
{# 1、普通值获取 #}
{{ key1 }}
<br/>
{# 2、列表值的获取 #}
{{ key2.0 }} {{ key2.1 }}
<br/>
{# 3、字典值获取 #}
{{ key3.key3_1 }} {{ key3.key3_2 }}
</body>
</html>
{# t2.html #}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>t2</title>
</head>
<body>
{% for hobby in hobbys %}
爱好:{{ hobby }}<br/>
{% endfor %}
</body>
</html>
{# t3.html #}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>t3</title>
</head>
<body>
{% if style == 0 %}
<span style="color: red">{{ message }}</span>
{% elif style == 1 %}
<span style="color: yellow">{{ message }}</span>
{% else %}
<span style="color: blue">{{ message }}</span>
{% endif %}
</body>
</html>
{# t4.html #}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>t4</title>
</head>
<body>
commen中:
<u1>
<li>
index_handler的地址是:{% url 'commen:index' %}
</li>
<li>
re_handler的地址是: {% url 'commen:re' 2 %}
</li>
</u1>
</body>
</html>
运行manage.py
进入浏览器:
上图为index_handler所展示的内容,依次进入t1、t2、t3、t4。
style为0时,颜色为红色,为1时,颜色为黄色,其他时,颜色为蓝色
<li>
re_handler的地址是: {% url 'commen:re' 2 %}
</li>
在确定re_handler地址时,需得re进行传参,否则会报错。