1.常用模板标签
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>这是第一个页面</title>
<link rel="stylesheet" href="{% static 'teacher/css/first.css' %}">
{# <link rel="stylesheet" href="/static/teacher/css/first.css">#}
</head>
<body>
<table>
<tr>
<th>序号</th>
<th>姓名</th>
<th>id</th>
</tr>
{% for student in students %}
{% with stu=student %}
别名:{{ stu }}
{% endwith %}
<tr {% if student.id == 3 %} style="background: blue" {% endif %}>
<th><a href={% url 'teacher:name' student.name %}>{{ forloop.counter }}</a></th>
<th>{{ student.name }}</th>
<th>{{ student.id }}</th>
</tr>
{% endfor %}
</table>
<p style="color: black">{{ students }}</p>
<h1 style="color: aqua">啦啦啦</h1>
<p style="color: red">现在的时间是:{{ now|date:'Y年m月d日 H:i:s' }}</p>
<p style="color: gold">我是列表:{{ lt }}</p>
<p style="color: green">我是字典:{{ dt }}</p>
<p style="color: purple">我是列表的一个值:{{ lt.1 }}</p>
<p style="color: #000000">我是列表的第一个值:{{ lt|first }}</p>
<p style="color: red">我是列表的最后一个值:{{ lt|last }}</p>
<p style="color: red">我是列表的最后一个值相加后的值:{{ lt|last|add:5 }}</p>
<p style="color: green">我是列表的切片{{ lt|slice:'::-1' }}</p>
<p style="color: blue">我是列表的切片{{ lt|join:'/' }}</p>
<p style="color: purple">我是字母{{ st }}</p>
<p style="color: purple">我是字母大写{{ st|capfirst }}</p>
<p style="color: purple">我是字母全大写{{ st|upper}}</p>
<p style="color: purple">我是字母小写{{ st|lower }}</p>
</body>
</html>
在这个知识之前,我先导入一段代码,这是之前的一个form表单,解释一下代码,这个第一行就是标题行,其实主要是{% for student in students %}{% endfor %},这是什么呢?这个就是循环,这里的students是在views文件中的字典列表,就是相当于把每一个字典从列表中取出来了。
from django.shortcuts import render, redirect
from django.http import HttpResponse
from datetime import datetime
# Create your views here.
app_name = 'teacher'
def test1(request):
now = datetime.now() # 获取当前时间
lt = [1, 2, 3, 4]
st = 'alallala'
dt = {'name': 'tomas', 'age': 18, 'sex': 'male'}
stu = [{'name': 'tuo', 'id': 1}, {'name': 'ma', 'id': 2}, {'name': 'si', 'id': 3}, {'name': 'cheng', 'id': 4},]
return render(request, 'teacher/teacher.html', context={
'now': now,
'lt': lt,
'dt': dt,
'st': st,
'students': stu,
})
def name(request, name):
return HttpResponse("{}同学的名字".format(name))
这就是views文件。
"""CRM URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from . import views
app_name = 'teacher'
urlpatterns = [
path('admin/', admin.site.urls),
path('test1/', views.test1, name='test1'),
path('name/<name>', views.name, name='name'),
]
这是urls文件,就是开辟路径的文件。
p{
/*font-size: 20px;*/
}
table{
border-collapse: collapse;
}
th,td{
width: 100px;
border: 1px solid red;
text-align: center;
}
a{
text-decoration: none;
}
这是css文件,用于装饰用的。
我们来从头到尾的理顺整个顺序,首先我们输入的路径是/teacher/test1/,首先就会在urls中查找路径,就会跳转到views中,之后通过views文件中的render跳转到html文件中,而html中的"{% static ‘teacher/css/first.css’ %}"会导入css文件用来渲染页面,再通过<a href={% url ‘teacher:name’ student.name %}这种url方法又重新回到app下的name的path下,在访问views中叫name的def,这样就实现了跳转的功能。
{%load%}:导入css文件的方法
{{}}:主要是传值
{%%}:主要是条件语句,例如循环判断等
{%with%}:改成别名,注意等号前后不要缩进
{%url%}:通过app_name加上path的name实现跳转。
当然这里还有一个判断语句。
2.include,extends,block
就会实现这个功能。
当然,这里也是可以导入js功能的。