逐渐脱离项目开始自学之——后台:
2019/08/03
直接在idle中运行调用路由的代码会报错:
io.UnsupportedOperation: fileno
需要在Windows的powershell中运行:
- 进入desktop文件夹的指令:cd desktop
- 注意文件夹不能含有空格,要进入program files文件夹需要输入cd “program files”
- 运行hello.py文件的指令:python hello.py
或者直接双击文件在cmd中运行。
2019/08/05
感动天感动地!如果不是教室里的人和我都不熟,我简直想高歌一曲!今天一大早就把昨天困扰我一天的问题给解决了!
- 使用flask框架时,需要调用的css、js、图片文件需要放在static文件夹中,html文件放在templates文件夹中(注意复数,一开始还因为忘了加s出错),而python文件需要和这些文件夹同级!
- 在html中引入css、js、图片的格式也要变为:
<!--
<link type="text/css" href="../css/style.css" rel="stylesheet" />
-->
<link type="text/css" href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet"/>
<!--
<script src="../js/polyfill.min.js"></script>
-->
<script src="{{ url_for('static', filename='js/polyfill.min.js') }}" type="text/javascript"></script>
<img class="am-circle" alt="点击图片上传" src="{{ url_for('static', filename='img/timg.gif') }}" data-am-popover="{content: '点我上传', trigger: 'hover focus'}" >
- 由于不在一个文件夹,调用图片时文件路径要先调到上一个文件夹中:
<div class="slide" style="background-image: url(../static/img/1.jpg);">
直接打开网页的话格式会无法显示,打开开发者工具会发现css、js没有被引用(不知道是什么原因,难道是因为静态网页?),但是运行过Python程序后,打开localhost:5000就可以显示完整了,这是直接打开网页:
运行过sketch.py后:
from flask import Flask, render_template
# 引入必要的模块
app = Flask(__name__) # 初始化一个Flask对象作为服务器
# 定义一个函数,它将响应并返回一个html描述的页面,这里我们是:sketch.html
@app.route('/sketch/') # 定义“路由”,路由是什么不知道没关系,下面会讲
def hello():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True) # 运行我们的服务器!
就可以打开了:
- 代码更新后刷新页面发现没有变化,需要清除浏览器缓存