Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
 
以上叙述来自百度百科。
 
BOSS说接下来的项目要用到Flask,便开始学习。
今天先从简单的登录开始。
1.开发工具用的是 汉化版的pycharm。免安装很方便。

2.创建Flask 项目

3.项目结构比较简单

其中py文件写后端代码的。templates文件存放html页面。

4.自动创建的项目自带hellow word,启动项目打开链接,便能看到熟悉的hellow word.

5.登录页后端代码

from flask import Flask
from flask import render_template, redirect,url_for
from flask import request
app = Flask(__name__) @app.route('/login', methods=['POST','GET'])# 路由和请求方式设置 def login():
error = None
if request.method == 'POST':
if request.form['username']=='admin':
return redirect(url_for('home',username=request.form['username']))
else:
error = 'Invalid username/password'
return render_template('login.html', error=error) @app.route('/home')
def home():
return render_template('home.html', username=request.args.get('username'),ppt="tewe") @app.route('/')
def hello_world():
return 'Hello World!' if __name__ == '__main__':
app.run()

  

6.在templates 文件夹下创建login.html和HOME.HTML,代码如下

home

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>home</title>
</head>
<body>
<h1>wlcome {{username}} , this is home</h1>
<h2>{{ ppt}}</h2>
</body>
</html>

login

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>login</title>
</head>
<body>
<form style="margin:20px;border:1px solid red" method="post" action="/login">
<span>username:</span><input type="text" name="username" id="username"><br/>
<span>password:</span><input type="password" name="password" id="password"><br/>
<button type="submit" id="loginBtn">login</button>
</form>
{% if error %}
<h1 style="color:red">{{ error }}!</h1>
{% endif %}
</body>
</html>

7.运行项目

输入帐号密码,跳转到home

demo完成。

需要注意的地方比较少。

1.一些必须导入的包需要全部导入

2.render_template 对前端的传值方式值得学习,后面应该会继续记录这个东西的使用方法。

Flask 学习系列(一) -登录的更多相关文章

  1. Flask学习之五 用户登录

    英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-v-user-logins 中文翻译地址:http:// ...

  2. 「Django」rest_framework学习系列-用户登录

    用户POST登录-->后台验证用户名密码-->验证正确返回TOKEN-->验证错误返回错误信息 class UserAPI(APIView): #用户登录类 def post(sel ...

  3. Flask 学习系列(三)---Jinjia2使用过滤器

    再Jinjia2中过滤器是一种转变变量输出内容的技术.··过滤器通过管道符号“|与变量链接,并且可以通过圆括号传递参数” .举例说明: {{my_variable|default('my_variab ...

  4. Flask 学习系列(二)---Jinjia2模板

    下面是一个jinjia2的简单模板的例子: <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  5. Flask 学习系列(四)---Jinjia2 模板继承

    1.基模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  6. Flask学习之六 个人资料和头像

    英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-vi-profile-page-and-avatars ...

  7. Flask入门系列(转载)

    一.入门系列: Flask入门系列(一)–Hello World 项目开发中,经常要写一些小系统来辅助,比如监控系统,配置系统等等.用传统的Java写,太笨重了,连PHP都嫌麻烦.一直在寻找一个轻量级 ...

  8. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  9. SpringMVC学习系列-后记 开启项目的OpenSessionInView

    在系列的 SpringMVC学习系列(12) 完结篇 的示例项目中,由于当时考虑到OpenSessionInView会对性能有一定的影响,所以就没有配置项目的OpenSessionInView.在ma ...

随机推荐

  1. AC自动机-题目集合

    AC自动机-题目集合 模板 如果你想要学习AC自动机,推荐一些学习资料. 学习可以看这篇博客 http://blog.csdn.net/niushuai666/article/details/7002 ...

  2. bootstrap 学习笔记(3)---- 代码

    这节讲的是代码: 1.基本实例 <code></code>  <pre></pre> <kbd></kbd> 应用如下 1.Fo ...

  3. Java连接redis操作数据

    选择2.9.0 jar 版本下载: jedis-2.9.0.jar package com.hao.redis; import org.junit.Before;import org.junit.Te ...

  4. js 弹出QQ对话框

    首先打开下面链接,开通QQ推广. http://shang.qq.com/v3/index.html 然后在页面代码中写入 <a target="_blank" href=& ...

  5. AtCoder Regular Contest 063 E:Integers on a Tree

    题目传送门:https://arc063.contest.atcoder.jp/tasks/arc063_c 题目翻译 给你一个树,上面有\(k\)个点有权值,问你是否能把剩下的\(n-k\)个点全部 ...

  6. setData 设置某个数组或者数组对象的值

    demo:list是一个对象数组,设置list数组某个对象的值 下标是动态index的value值 let item='list['+index+'].value'; this.setData({ [ ...

  7. 896C

    ODT/珂朵莉树 原来这个东西很咸鱼,只能数据随机情况下nloglogn,不过作为卡常还是很好的 大概就是维护区间,值相同的并且连续当成一个区间存在set里,每次区间操作强行分裂就行了. 复杂度因为是 ...

  8. SublimeLinter js和css的语法检查

    JavaScript 语法检查 SublimeLinter-jshint 是基于 nodeJS 下的 jshint 的插件,实际上 SublimeLinter-jshint 调用了 nodeJS 中 ...

  9. libvirt监控

  10. ubuntu--vim 技巧

    本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了! vi编辑器是所有Unix及Linux系统下标准的编 辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法 ...