一、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)
- 模板的 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