django之创建第6个项目-过滤器
1、views.PY
# Create your views here. #coding:utf-8 from django.http import HttpResponse import datetime #导入templates文件所需导入库 from django.template import loader,Context class Person(): def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def myMethod(self): return "get it" def index(request): #第二个项目 #return HttpResponse("hello,Django") #加载器,加载模板 t=loader.get_template("index.html") #django之创建第4-3个项目-访问list数据 #book_list = ["python","c++","ruby","php"] #c = Context({"test": book_list}) # 在这里test位变量,book_list为变量的值 #return HttpResponse(t.render(c)) # django之创建第4-2个项目-访问class类属性和类方法 #实例化 #person = Person("xiaodeng", 28, "male") #c = Context({"test": person}) # 在这里test位变量,user为变量的值 #return HttpResponse(t.render(c)) #静态 #c=Context({}) #return HttpResponse(t.render(c)) #动态,传入变量 #c=Context({"name":"Django"}) #return HttpResponse(t.render(c)) # django之创建第4-1个项目-Dict形式 user = {"name": "xiaodeng", "sex": "male", "age": 28,"today":datetime.datetime.now()} c = Context({"test": user}) # 在这里test位变量,user为变量的值 return HttpResponse(t.render(c))
2、index
<!DOCTYPE html> <body lang="en"> <head> <meta charset="UTF-8"> <title>django之创建第5个项目-条件语句</title> </head> <br> <h2>name:{{test.name}}</h2> <!--模板 变量用变量定义--> <h2>age:{{test.age}}</h2> <h2>访问类方法:{{test.myMethod}}</h2> <h1>条件语句</h1> <h1>1、条件语句-if条件语句</h1> {% if test.age > 20 %} <li>我要努力了</li> {% else %} <li>你还可以玩玩?不可以</li> {% endif %} <lo>2、and、or、not</lo> {% if not user1 %} <li>user1是不存在的</li> {% else %} <li>uer1存在</li> {% endif %} {% if not test.name %} <li>test.name 为空(含义:如果user.name的值不存在,则定义他为空)</li> {% endif %} <h1>2、条件语句-for条件语句</h1> <li>第1种方法:test.values</li> {% for value in test.values %}<!--取字典的值--> <lo>{{value}}</lo> {% endfor %} </br> </br> <li>第2种方法:test.keys</li> {% for key in test.keys %}<!--取字典的键--> <lo>{{key}}</lo> {% endfor %} </br> </br> <li>第3种方法:test.items</li> {% for key,value in test.items %}<!--取字典的键值对--> <lo>{{key}}:{{value}},</lo> {% endfor %} </br> </br> <lo>针对list数据时一样的道理,直接遍历list数据即可,和python很像</lo> <h1>2.1、条件语句-for条件语句反向迭代(reversed)</h1> </br> {% for key in test.keys reversed %}<!--反向迭代--> <lo>{{key}}</lo> {% endfor %} </br> </br> <h1>3、过滤器-转化为大写</h1> <li>第1种方法:key.upper</li> {% for key,value in test.items %} <lo>{{key.upper}}:{{value}}</lo><br><!--br换行--> {% endfor %} </br> <li>第2种方法:key | upper</li> {% for key,value in test.items %} <lo>{{key | upper}}:{{value}}</lo><br><!--竖杠为管道符号--> {% endfor %} </br> <li>第3种方法:多重管道</li> {% for key,value in test.items %} <lo>{{key | upper |lower | capfirst }}:{{value}}</lo><br><!--竖杠为管道符号--> {% endfor %} </br> <h1>3、过滤器-时间过滤或者格式化</h1> <li>3.1、当前时间:{{test.today}}</li> <li>3.2、格式化当前时间:{{test.today | date:"Y-m-d H:i:s"}}</li> </br> <lo>格式化时时间分别用什么字母表示?</lo><br> <lo>Y:年</lo><br> <lo>m:月</lo><br> <lo>d:日</lo><br> <lo>H:小时</lo><br> <lo>i:分钟</lo><br> <lo>s:秒</lo><br> <h1>3、过滤器-自定义过滤器</h1> </body> </html>
无语言基础,自学python所做的各种笔记,欢迎大牛指点.