flask路由与模板使用

flask的路由

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from flask import Flask,request
from flask import url_for
app=Flask(__name__)
@app.route('/',methods=['GET','POST'])
def index():
return '这是首页'
@app.route('/logo/<id>')
def showid(id):
return '输入的id号为'+id
@app.route('/show')
def show_id():
id=request.args.get('id')
return '通过request得到的id'+id
@app.route('/query_url')
def query_url():
return 'show_id的路由是:'+url_for('show_id')
if __name__=='__main__':
app.run()

flask的模板

模板的简单使用
条件语句
循环语句
模板的继承
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from flask import Flask,request,render_template
from models import User
app=Flask(__name__)
@app.route('/')
def hello_world():
con="this is index content"
return render_template('index.html',con=con)
#在index.html中“{{con}}”来使用
#对象的传入以及模板的使用
@app.route('/user/<id>')
def query_suer(id):
user=None
if int(id)==1:
user=User(1,'nuocheng')
return render_template('index.html',user=user)

#循环语句

1
2
3
4
5
6
7
@app.route('/list')
def user_list():
users=[]
for i in range(1,5):
user=User(i,'nuocheng'+str(i))
users.append(user)
return render_template('list.html',users=users)

models.py里的相关代码

1
2
3
4
class User(object):
def __init__(self,user_id,user_name):
self.user_id=user_id
self.user_name=user_name

index.html里的先关代码:

1
2
3
4
5
6
7
<body>
{% if user %}
hello {{user.name}}
{% else %}
没有此用户
{% endif %}
</body>

list.html里的代码:

1
2
3
4
5
6
<body>
{% for user in users %}
{{user.id}}----{{user.name}}<br/>
{% endfor %}
</body>

继承

继承网站的头部与底部
基类:base.html

    <body>
        <div>这是头部</div>
        {% block content  %}
			{% endblock  %}
        <div>这是底部</div>
    </body>

子类1:one.html
    {% extends "base.html" %}
    {% block content %}
			

这是第一页

{% endblock %} 子类1:two.html {% extends "base.html" %} {% block content %}

这是第二页

{% endblock %}
Fork me on GitHub