总结一下今天的学习过程
1,if标签在Python中使用
语法结构:{% %} 没有{% elseif %}这个语法只能在else中再写if
{% if %}
{% else %}
{% endif %}
关键字:and not or 其中and和or不能同时使用
not:可判断 变量存在或者值是否为空、是否为0
2,for标签在Python中的使用
for标签 没有continue break
{% for ss in list %}
{% endfor%}
{% for key,value in dict.items %}
{{key}}::{{value}}
{% endfor%}
关键字 empty 、 reversed 用于list的逆向迭代输出、
{% empty %} 没有渲染到数据,提示。
forloop:first、last、counter、counter0、revcounter、revcounter0
3,过滤器的使用,类似于Linux中的管道
a,系统自带的 filter 过滤器
{% for ss in list %}
{{ss | upper }}
{% endfor%}
可同时使用多个
{% for
ss
in d %}
{{
ss
| upper | lower |
capfirst
}}
{%
endfor
%}
日期格式化
<
li
>
{{today | date:"Y-m-d"}}
</
li
>
add:给变量加上相应的值、
addslashes :单引号加上转义号,一般用于输出到javascript中
{{ "123spam456spam789"|cut:"spam" }}查找删除指定的字符串
{{ l1|slice:":2" }} 列表切边
{{ s|default:'空空如也' }} 值不存在,使用指定值
{{ info|truncatechars:18 }} 渲染指定长度的字符
{{ info1|truncatewords:9 }}渲染指定长度的单词
{{ a|safe }} 声明安全可以渲染
add:给变量加上相应的值、
addslashes :单引号加上转义号,一般用于输出到javascript中
{{ "123spam456spam789"|cut:"spam" }}查找删除指定的字符串
{{ l1|slice:":2" }} 列表切边
{{ s|default:'空空如也' }} 值不存在,使用指定值
{{ info|truncatechars:18 }} 渲染指定长度的字符
{{ info1|truncatewords:9 }}渲染指定长度的单词
{{ a|safe }} 声明安全可以渲染
等等
b,自定义
需要在blog中建立templatetags包
定义函数
from
django
import
template
register
= template.Library()
def
definefifter
(value):
return
value+
"==="
register
.filter(definefifter)
注意:这里的
template包导入 已经register声明是不可缺的
在settings中
INSTALLED_APPS
注册
INSTALLED_APPS中添加
"blog.templatetags.definefifter"
,
在HTML中引用
{% load
definefifter
%}
<
li
>
{{today | date:"Y-m-d" |
definefifter
}}
</
li
>
4,urls
模块分离化
在每一个新增的应用中添加urls.py文件,里面编写这个模块的请求处理跳转
在总项目中的
urls.py中设置模块化应用的访问映射
5,获取get、post提交方式的参数数据
6,模板继承
7,sqlite数据库中表的映射自创建、数据的查询
在models中创建类,
from django.db import models
# Create your models here.
class student(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=50)
class Meta:
db_table='student'
设置表名,不采用系统默认的,
有时重建表时,需删除migrations文件夹下的生成的临时文件以及数据库中django_migrations表中的有关记录
Django1.7后的版本;需要先make migrations再migrate
在项目中建立数据处理模块 testDB,临时操作数据库表student
from sqlite3 import *
con = connect('../db.sqlite3')
cursor = con.cursor()
cursor.execute("SELECT * FROM student;")
print(cursor.fetchall())
8,美好的一天,明天加油