python Web开发 flask轻量级Web框架

python Web开发 flask轻量级Web框架O flask 介绍 Flask 是一个使用 Python 编写的轻量级 Web 应用框架 其 WSGI 工具箱采用 Werkzeug 模板引擎则使用 Jinja2 Flask 使用 BSD 授权 Flask 也被称为 microframewo 因为它使用简单的核心 用 extension 增加其他功能 Flask 没有默认使用的数据库 窗体验证工具 Web 应用采用访问和响应的方式和用户进

一、flask应用的基本构成

#coding=utf-8 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return "hello world" if __name__ == '__main__': app.run() 

app = Flask(name)
这是建立一个flask应用,并且设置flask应用的目录为该模块的目录。

运行程序,在浏览器中访问服务器地址即可得到返回的网页

@app.route('/users/<id>') def hello_users(id): return "users: " + id 

这里写图片描述

 @app.route('/user', methods=['POST']) def hello_user(): return "hello user" 
from flask import Flask,request 
@app.route('/query_user') def query_user(): id = request.args.get('id') return "query_user: id " + id 
@app.route('/query_url') def query_url(): return 'query_url' + url_for('query_user') 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>{
  
  
  
  
  
  
  
  { content }}hello world this is first web</h1>
</body>
</html>
@app.route('/')
def hello_world():
    return render_template("demo.html", content="hello flask ")

这里写图片描述

2.传入类

 class User: def __init__(self, user_id, user_name): self.user_id = user_id self.user_name = user_name 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>User id is {
  
  
  
  
  
  
  
  { user.user_id }}</p> <p>User name is { 
  { user.user_name }}</p>
</body>
</html>
@app.route('/user')
def hello_user():
    user = User(1, "hello user")
    return render_template("demo.html", user=user)

这里写图片描述

  1. 模板的 if 语法
    query_user.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% if user %}
{
  
  
  
  
  
  
  
  { user.user_name }}
{% else %}
<p> hello world</p>
{% endif %}
</body>
</html>

如果user不为空则输出 user.name 否则 输出hello world

@app.route('/query_user/<id>')
def query_user(id):
    user = None
    if id == '1':
        user = User(2, "zzm")
    return render_template("query_user.html", user = user)

这里写图片描述
这里写图片描述

4.模板循环

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% for user in users %}
 {
  
  
  
  
  
  
  
  { user.user_id }}----{ 
  { user.user_name }}<br/>
{% endfor %}
</body>
</html>
@app.route('/list')
def user_list():
    users = []
    for i in range(1, 11):
        user = User(1, "zzm" + str(i))
        users.append(user)
    return render_template("user_list.html", users=users)

这里写图片描述

<div> 这是头部 </div> {% block content %} {% endblock %} <div> 这是尾部 </div> 
{% extends "base.html"%}
{% block content %}
    <h2>这是第一页</h2>
{% endblock %}
@app.route('/one')
def one_base():
    return render_template("one_base.html")
 <form action="/login" method="post"> <input type="text" name="username"> <input type="password" name="password"> <input type="submit" value="提交"> </form> <h2>{ 
  { get_flashed_messages()[0] }}</h2> 
@app.route('/flashDemo')
def flash_demo():
    flash("hello world flash")
    return render_template("flash.html")

这里写图片描述

写个404.html

<h1>this is error</h1> 
@app.errorhandler(404)
def not_fond(e):
    return render_template("404.html")

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233514.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java爬取先知论坛文章

    Java爬取先知论坛文章0x00前言上篇文章写了部分爬虫代码,这里给出一个完整的爬取先知论坛文章代码,用于技术交流。0x01代码实现pom.xml加入依赖:<dependencie

    2021年12月12日
    41
  • mySQL函数根据经纬度计算两点距离

    mySQL函数根据经纬度计算两点距离

    2022年2月23日
    45
  • Linux文件系统详解

    从操作系统的角度详解Linux文件系统层次、文件系统分类、文件系统的存储结构、不同存储介质的区别(RAM、ROM、Flash)、存储节点inode。本文参考:http://blog.chinaunix.net/uid-8698570-id-1763151.htmlhttp://www.iteye.com/topic/816268http://soft.chinabyte.com/os/142…

    2022年4月3日
    55
  • 分享一个免费版本库可以建私库

    分享一个免费版本库可以建私库别的不多说目前这个行业小团队比较多,想要版本库的话  看下面  反正我个人一直在用  所以就推荐给你们。我不介绍github,和gitorious因为github在私人库的时候是收费的而最早的gitorious是没办法建私人库开源是帮助了很多人但如果你是一个小团队想找一个比较好而又免费的版本库的话我推荐使用bitbucket能建立免费私人库容量是无限大支持5人小团队一起合作

    2022年7月18日
    12
  • Vue项目实战 —— 哔哩哔哩移动端开发—— 第一篇

    Vue项目实战 —— 哔哩哔哩移动端开发—— 第一篇撑着下班前半小时我用vue写《哔哩哔哩项目》移动端、新手还在哭、老鸟一直在笑。。。技术选型Vue2,技术栈有axios、Vh等,下班过来敲哈哈

    2022年6月24日
    27
  • Pycharm中的Debug工具以及简单的使用方法[通俗易懂]

    Pycharm中的Debug工具以及简单的使用方法[通俗易懂]1.什么是Debug工具?Debug工具是PycharmIDE中集成的用来调试程序的工具,在这里程序员可以查看程序的执行细节和流程或者调解bug2.Debug工具使用步骤打断点~断点位置:目标要调试的代码块的第一行代码即可,即一个断点即可。~打断点的方法:单击目标代码和行号右侧空白位置3.debug使用,在run,下面有一个debug先看看Debugger的这个控制台面板运行debug后…

    2022年8月29日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号