try.py
from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
parm = {'北京': '北京真好', '上海': '2'}
def datetime_format(value,format="%Y-%m-%d %H:%M:%S"):
return value.strftime(format)
app.add_template_filter(datetime_format,'dformat')
#上面这三句就是定义过滤器,我感觉就是用在py传参给html代码时候的lambada函数,最终就是定义了一个html函数相当于
#说白了就是{{xxx|dformat}},右边的函数标志就是执行datatime_format函数,左边的xxx就是参数,
# 最终调用执行的结果会返回在这里并输出在网页效果上,和lambada函数的调用有亿点点像
#实际上关键在于strftime函数和 datetime.now()
@app.route('/')
def index():
mytime = datetime.now()
return render_template('index.html', parm=parm,mytime=mytime)
#我才发现这个app_id等这种后面的变量不在绑定的函数中用的话就会报错(不是形参就报错)
#我发现连接同一个手机热点的多个设备,用的路由是一样的,这多个设备也都可以ping通这路由,但是不能互相ping通
#当然,这多个设备都可以直接ping通这个手机的ip地址,
# 所以当我用手机热点给这个电脑连接的时候,(本来一般在同一个局域网就能互相访问)就可以用手机访问这个设置了host=‘0.0.0.0’的flask程序,当然要在电脑ip后面加上 :对应端口号
#并且还可以修改保存,我在博客上已经验证过了,那个不同的手机热点连接下,电脑ip是不同的,由此形成的访问地址也不同
if __name__ == '__main__':
app.debug = True
app.run(host='0.0.0.0', port=5000)
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="{{ url_for('static',filename='css/style.css') }}"
</head>
<body>
<h1>{{parm['北京']|length}}</h1>
<!--length时过滤器中函数的标志,就会调用求取左边参数长度的函数并返回到这里和html一起输出-->
<h1>{{mytime|dformat}}</h1>
<script src="{{ url_for('static',filename='js/hh.js') }}"></script>
<!--不晓得为何这个script一定要放进body标签里才有那个对话框弹出,在head标签里弹不出-->
</body>
</html>
hh.js
alert("我暗恋你十年了,你我如今还有可能吗");
style.css
body{
background-color: pink;
}
结构