zoukankan      html  css  js  c++  java
  • Python>>>Flask框架使用之入门

    操作平台Windows Python2.7

    安装

    pip install flask

    Hello World程序

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/hello')
    
    def hello_world():
        return "Hello World!!"
    if __name__ == '__main__':
        app.run()
    

    route装饰器是用于把一个函数绑定到一个 URL 上

    主页后面不同的URL

    @app.route('/')
    def index_page():
        return "this is the homepage"
    
    @app.route('/hello')
    def hello_world():
        return "Hello World!!"
    @app.route('/user')
    def user():
        return "this is the userspage"

     变量规则

    @app.route('/user/<username>')
    def show_user_profile(username):
        # 显示用户的名称
        return 'User %s' % username
    
    @app.route('/post/<int:post_id>')
    def show_post(post_id):
        # 显示提交整型的用户"id"的结果,注意"int"是将输入的字符串形式转换为整型数据
        return 'Post %d' % post_id

    静态文件放在 static目录中,模板文件放在templates目录下。

    from flask import Flask
    from flask import render_template
    app = Flask(__name__)
    
    @app.route('/hello')
    @app.route('/hello/<mypara>')
    def hello_world(mypara=None):
        return render_template('myhello.html',yourcontext=mypara)
    
    if __name__ == '__main__':
        app.run()

    这个py文件有个templates文件夹,里面有一个myhello.html

    内容如下

    <!doctype html>
    <title>Hello from Flask</title>
    {% if yourcontext %}
      <h1>Hello {{ yourcontext }}!</h1>
    {% else %}
      <h1>Hello World!</h1>
    {% endif %}

    yourcontext字符串会替代相关。

    一个简单登录网页

    本例子效果如下

    用户名和密码都正确(tianao)返回

    Hello tianao!

    否则返回

    Hello Invalid username/password!

    一共三个文件。主要的py文件,templates目录下的hello.html ,login.html

    from flask import Flask
    from flask import request
    from flask import render_template
    app = Flask(__name__)
    @app.route('/login', methods=['POST', 'GET'])
    def login():
        error = None
        if request.method == 'POST':
            if request.form['username'] == 'tianao' and request.form['password'] == 'tianao':
                return render_template('hello.html', name=request.form['username'])
            else:
                error = 'Invalid username/password'
        return render_template('login.html', error=error)
    if __name__ == '__main__':
        app.run()
    

      hello.html

    <!doctype html>
    <title>Hello from Flask</title>
    
    {% if name %}
      <h1>Hello {{ name }}!</h1>
    {% else %}
      <h1>Hello World!</h1>
    {% endif %}
    

      login.html

    <!doctype html>
    <title>Login Page</title>
    <form action="../login" method="POST">
        <input type="text" name="username" />
        <input type="password" name="password" />
        <input type="submit" value="submit" />
    </form>
    {% if error %}
      <h1>Hello {{ error }}!</h1>
    {% else %}
      <h1>Success!</h1>
    {% endif %}
    

      

  • 相关阅读:
    快速提交一个项目到github或gitee上
    微信web开发问题记录
    解决 VUE项目过大nodejs内存溢出问题
    vue使用动态渲染v-model输入框无法输入内容
    webstorm 支持vue element-ui 语法高亮属性自动补全
    spring websocket报错:No matching message handler methods.
    Failed to start bean 'stompBrokerRelayMessageHandler'; nested exception is java.lang.NoClassDefFoundError: reactor/io/codec/Codec
    远程调用appium server
    appium 特殊操作
    mac下搭建appium
  • 原文地址:https://www.cnblogs.com/legion/p/6241378.html
Copyright © 2011-2022 走看看