python学习 第五篇 flask

#!/usr/bin/env python
#coding:utf-8
from flask import Flask,request,render_template,redirect
#request 里面包含一次网络请求所有的内容,所有url参数(get的参数),都在request.args里,args是一个类似字典的数据
#render_template 渲染前端html文件,默认渲染/templates下面的文件,有模板功能
#jinjia2模板语言{{}}包裹的是变量 循环语法{% for x in arr %} {%endfor%}
#新建app
app=Flask(__name__)

#监听路由。就是url  在域名和端口后面
#当域名和端口后面只有一个/的时候,这个路由触发
@app.route(‘/‘)

def index():
	name=request.args.get(‘name‘)
	pwd=request.args.get(‘password‘)
	if name ==‘admin‘ and pwd==‘admin123‘:
		return redirect(‘/reboot‘)
	else:
		return ‘please login‘
#        return "hello world"

@app.route(‘/adduser‘)
def adduser():
	name=request.args.get(‘name‘)
	pwd=request.args.get(‘password‘)
	with open(‘user.txt‘,‘a+‘) as f:
		f.write(‘%s:%s\n‘%(name,pwd))
	return redirect(‘/reboot‘)

@app.route(‘/reboot‘)

def reboot():
	word=request.args.get(‘word‘,‘reboot‘)
#	names=[{‘name‘:‘xiaoming‘,‘age‘:12},{‘name‘:‘wd‘,‘age‘:10}]
#	return "search word is %s"%(word)
	f=open(‘user.txt‘)
	names=[line.split(‘:‘) for line in f.read().split(‘\n‘)]
	return render_template(‘test.html‘,word=word,age=12,names=names)
#	f=open(‘templates/test.html‘)
#	content= f.read()
#	f.close()
#	return content

#启动app
if __name__ ==‘__main__‘:
	app.run(host=‘0.0.0.0‘,port=8888,debug=True)
hello {{word}} my age is {{age}}

<form action=‘/adduser‘>

        name:<input type="text" name=‘name‘>

       password:<input type="password" name=‘password‘>

        <input type="submit" name=‘submit‘>
</form>

<table border=‘1px‘>
	<thead>
		<tr>
		<td>user</td>
		<td>password</td>
		</tr>
	</thead>

	<tbody>
		{%for name in names%}
		{%if name[0]  and name[1]%}
		<tr>
		<td>{{name[0]}}</td>
		<td>{{name[1]}}</td>
		</tr>
		{%endif%}
		{%endfor%}
	</tbody>
</table>
时间: 2024-07-28 21:32:33

python学习 第五篇 flask的相关文章

Python学习笔记基础篇——总览

Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python

图解Python 【第五篇】:面向对象-类-初级基础篇

由于类的内容比较多,分为类-初级基础篇和类-进阶篇 类的内容总览图: 本节内容一览图: 今天只讲类的基础的面向对象的特性 前言总结介绍: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个"函数"供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数,对象是一个类的实例 实例(instance):一个对象的实例化实现. 标识(identity):每个对象的实例都需要一个可

Python学习笔记进阶篇——总览

Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(多线程与进程池) Python学习笔记——进阶篇[第九周]———线程.进程.协程篇(队列Queue和生产者消费者模型) Python学习笔记——进阶篇[第九周]———协程 Python学习笔记——进阶篇[第九周]———MYSQL操作

python学习第五天 - for...in...循环

for..in语句是另一个循环语句,它迭代一个对象的序列,例如经历序列中的第一项.在后面的章节,我们将会看到更多关于序列的细节.现在,你需要知道的是一个序列只是一个有序的项目的集合. 例如 (保存为 for.py): for i in range(1,5): print(i) else: print('for循环结束') >>> ================================ RESTART ================================ >&g

python学习[第十三篇] 条件和循环

python学习[第十三篇] 条件和循环 if语句 单一if 语句 if语句有三个部分构成,关键字if本身,判断结果真假的条件表达式,以及表达式为真或非0是执行的代码 if expression: expr_true_suite 条件表达式可以是多重的 通过布尔操作符 and or not来实现 单一语句的if 代码块,如果if语句的执行代码只有一行,可以放在一行来写 if expresssion: expr_tru_suite >>> if True: print True ... T

Python学习系列提升篇------字符串

字符串是python学习中重要的内容,在以后的工作中,对字符串的处理也必少不了.下面总结一下关于字符串学习的经验. 1.1 字符串的连接和合并 用' + '连接,将两个字符串相加.       合并,使用关键词 join 进行合并 1.2 字符串的切片和相乘 字符串相乘    字符串切片       1.3 字符串分割 普通分割.用split      复杂分割 1.4 字符串的查找与匹配 一般查找,用 find :可以很方便的在长的字符串里面查找子字符串,会返回子字符串所在位置的索引, 若找不

Python学习笔记——基础篇【第五周】——re.match与re.search的区别

正则表达式 语法: import re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0-9]代表匹配0至9的任意一个数字, 所以这里的意思是对传进来的字符串进行匹配,如果这个字符串的开头第一个字符是数字,就代表匹配上了 m = p.match('14534Abc') #按上面生成的正则对象 去匹配 字符串, 如果能匹配成功,这个m就会有值, 否则m为None if m: #不为空代表匹配上了 print(m.group

Python学习笔记——基础篇【第五周】——正则表达式

1 递归问题import timedef digui(n,s,num):    num += 2    if num == 10:        print(s)        return s    # print(n)    # print(s)    #time.sleep(1)    n = n + s    s = s + n    digui(n,s,num) ret = digui(0,1,num=0)print(ret)-------------------- def a(n):

Python学习笔记——基础篇【第五周】——json &amp; pickle 模块

json & pickle 模块(序列化) 用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load pickle模块提供了四个功能:dumps.dump.loads.load dumps和dump区别: pickle.dump(info,f) #print(pickle.dumps(info)) #f.write(pick