笨办法学Python3 ,ex50--初识Flask,结合了html

小白我上周学到笨办法学Python3第ex50课,个人感觉跨度相当大,许多人或许会笑, 但是对于小白我来说, 直接从地球(python基基基基基础)---跳过了月球(html)----飞到了火星(flask).

于是先去了月球(html), 学习了几个标签后, 今天又看了bilibili上几个flask视频, 说实话上面许多视频讲的太深奥太书面话, 上来就是照着简介念, 似乎讲师自己念的也不太连贯.于是只好就自己用少的可怜的知识来测试ex50课

首先,我这个等级不法搞清楚bilibili讲师视频里的什么这个包这个方法,那个包含方法,这个方法的值传给了那个方法, 就照着Python创始人Zed的要求, 写入书中代码放到了app.py中

from flask import Flask
from flask import render_template

app = Flask(__name__)

@app.route("/")
def index():
    return "Hi there, I`m flask"
    # return render_template("index.html")

if __name__ == "__main__":
    app.run()

为了更好的理解,我做了一些改动, 我没有用书中的 函数名  hello_wprld()   和return "Hello, World", 因为我想知道,我换了会怎样,这是测试的一部分.代码写完保存了Zed要求的app.py()

于是用书中的方法在虚拟环境中,我创建了项目名文件夹(gothonweb),又在项目名文件夹(gothonweb)下面的几个文件(bin, gothonweb , tests docs templates),注意这里是templates,有一个s, 在英语中是复数,也就是这里面有很多模板,网上有很多以为在app.py里面写的是template, 于是文件夹就命名为template, 后面python app.py就出事了.

现在在powershell里面进入虚拟环境, 再一路cd 到 gothonweb, 运行python app.py, 在浏览器中输入网址http://127.0.0.1:5000/

测试完后,如Zed所说的那样,浏览器中,如下图:

接下来,测试书中ZED提到的return render_template("index.html"), 我没有完全照书中所写,书中后面"index.html"后面还有greeting=greeting,因为对我来说有点复杂,大概意思也就是把greeting变量拿到的值传到html预挖好的坑中,因为zed的index.html有挖好一个坑{{    greeting  }},由于是初识flask,我就不整这些复杂的了. app.py代码改为

from flask import Flask
from flask import render_template

app = Flask(__name__)

@app.route("/")
def index():
    
    return render_template("index.html")

if __name__ == "__main__":
    app.run()

然后自己又用可怜的html知识写了一个index.html文件,这个html就是在浏览器中显示一个表格,放入了templates文件夹中测试代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表格</title>
	</head>
	<!-- 
		表格
			table 	表示表格
			tr 		表示表格中的行(每一行可以包含一个或多个td或th)
			td 		表示表格中的标准单元格
			th 		表示表格中的表头单元格(具有标题的效果,字体加粗,居中显示)
			
			table常用属性
				border 表格的边框
				width  表格的宽度 
					像素值或百分比(如果是百分比,参考的是上一级元素的宽度,如果上一次元素未设置,则参考屏幕宽度)
				height 表格的高度
				align  表格的对齐方式 (left、right、center)
				
			tr常用属性
				align   每行中文本内容的水平方向对齐方式(left、right、center)
				valign  每行中文本内容的垂直方向对齐方式
				bgcolor 设置行的背景颜色
				
				
			css样式
				border-collapse: collapse;	合并表格边框
				
				
				合并单元格
					<td>的colspan和rowspan分别规定单元格横跨的列数和行数
					纵向合并  rowspan
					横向合并  colspan
				
	 -->
	<body>
		<!-- <table border="1" width="500px" align="center" height="200px" style="border-collapse: collapse;">
			<tr>
				<th>班级</th>
				<th>姓名</th>
				<th>年龄</th>
				<th>性别</th>
			</tr>
			<tr align="center" valign="top" bgcolor="antiquewhite">
				<td>101班</td>
				<td>张三</td>
				<td>18</td>
				<td>男</td>
			</tr>
			<tr align="left">
				<td>101班</td>
				<td>李四</td>
				<td>19</td>
				<td>女</td>
			</tr>
			<tr align="right">
				<td>102班</td>
				<td>王五</td>
				<td>20</td>
				<td>男</td>
			</tr>
		</table>
		
		<hr />
		
		<h3 align="center">纵向合并  rowspan</h3>
		<table border="1" width="500px" align="center" style="border-collapse: collapse;">
			<tr>
				<th>班级</th>
				<th>姓名</th>
				<th>年龄</th>
				<th>性别</th>
			</tr>
			<tr align="center" >
				<td rowspan="2">101班</td>
				<td>张三</td>
				<td>18</td>
				<td>男</td>
			</tr>
			<tr align="center">
				<td>李四</td>
				<td>19</td>
				<td>女</td>
			</tr>
			<tr align="center">
				<td>102班</td>
				<td>王五</td>
				<td>20</td>
				<td>男</td>
			</tr>
		</table>
		
		<hr />
		
		<h3 align="center">横向合并  colspan</h3>
		<table border="1" width="500px" align="center" style="border-collapse: collapse;">
			<tr>
				<th colspan="2">班级+姓名</th>
				<th>年龄</th>
				<th>性别</th>
			</tr>
			<tr align="center" >
				<td rowspan="2">101班</td>
				<td>张三</td>
				<td>18</td>
				<td>男</td>
			</tr>
			<tr align="center">
				<td>李四</td>
				<td>19</td>
				<td>女</td>
			</tr>
			<tr align="center">
				<td>102班</td>
				<td>王五</td>
				<td>20</td>
				<td>男</td>
			</tr>
		</table> -->
		
			
		<div align="center"><h2><b>交接班记录表</b></h2></div>
		<div><pre><h3><b>                       单位:</b><b>                                        班:</b><b>                年    月</b></h3></pre></div>
		<table align="center" border="2" width="700px" height="800px" style="border-collapse: collapse">
			<tr>
				<th>日期</th>
				<th colspan="2">交接班时间</th>
				
				<th>接班人</th>
				<th>交接情况</th>
				<th>交接物品、工具等</th>
			</tr>
			<tr align="center" bgcolor="bisque">
				<td rowspan="7">1.1</td>
				<td>7:45</td>
				<td colspan="2" >张三,李四</td>
				<!-- <td>李四</td> -->
				<td>进度75%</td>
				<td>扫描枪和称</td>				
			</tr>
			<tr height="35px">
				<td></td>
				<td  width="100px"></td>
				<td></td>
				<td></td>
				<td></td>
				
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr bgcolor="bisque">
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			
		</table>
	</body>
</html>

ctrl+C  暂停flask后,再次python app.py 去浏览器打开网址http://127.0.0.1:5000/  ,显示如下:

初始flask给我的感觉就像是一个网页服务器,能调试html, 目前小白我的理解也只到这. 欢迎大家留言指正.

前面书中提到的app.py, 这个文件名可以改成别的,也能正常运行.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值