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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sublime激活码2021【在线注册码/序列号/破解码】

    sublime激活码2021【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    166
  • python线程间通信的方式_android 线程间通信

    python线程间通信的方式_android 线程间通信1、python多线程#!/usr/bin/evnpython3#–*–coding:utf-8–*–#该实例反编译来说明函数执行流程importdisdefadd(a):a=a+1returnaprint(dis.dis(add))#Python中一个线程对应于C语言中的一个线程(CPython而言)(Python并不一定…

    2022年9月1日
    5
  • 登录注册HTML页面代码「建议收藏」

    登录注册HTML页面代码「建议收藏」一、注册创建register.html文件,录入如下代码<!DOCTYPEhtml><html><head><metacharset=”UTF-8″><title></title><styletype=”text/css”>form{width:100%;

    2022年6月10日
    88
  • javascript中通过document.cookie写入不了cookie的问题「建议收藏」

    javascript中通过document.cookie写入不了cookie的问题「建议收藏」网上有很多通过document.cookie来写入cookie的写法,使用的代码如下但是在本地直接通过浏览器浏览的时候,并不能写入cookie。经过试验才发现,只有当用在服务器或者本地的服务器中的时候,才能使用这个方法写入cookie

    2022年7月20日
    50
  • c++和java区别_科普:Java 和 C++ 有何区别[通俗易懂]

    c++和java区别_科普:Java 和 C++ 有何区别[通俗易懂]我是一名Java工程师,平时用C++的时候并不多,这篇文章讲述了两者的区别。欢迎大家关注我。Java和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于C++为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!Java则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多…

    2022年7月7日
    29
  • C#获取当前系统时间

    C#获取当前系统时间
    --DateTime数字型System.DateTimecurrentTime=newSystem.DateTime();取当前年月日时分秒currentTime=System.DateTime.Now;取当前年int年=currentTime.Year;取当前月int月=currentTime.Month;取当前日int日=currentTime.Day;取当前时int时=currentTim

    2022年10月18日
    4

发表回复

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

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