python+flask开发属于自己的个人轻量级web服务网站(四)

Flask之模板渲染和模板传参
我们在前面的Flask脚手架的基础上,在模板中新建一个名为index.html的html文件,然后app.py文件中,引入render_template函数,在return返回render_template函数,传入的参数为刚刚新建的index.html文件。我们来看看实际效果

python+flask开发属于自己的个人轻量级web服务网站(四)_第1张图片
16.png

python+flask开发属于自己的个人轻量级web服务网站(四)_第2张图片
17.png

from flask import Flask,redirect,url_for,render_template

app = Flask(__name__)


@app.route('/')
def index():
    return render_template('index.html')

@app.route('/articles/')
def show_articles(id):
    return '您请求的文章id是%s'%id
@app.route('/blog/')
def blog():
    return '这是发布文章页面!!!'
@app.route('/login/')
def login():
    return '这是登录页面,请登录!!!'

@app.route('/blog/')
def redi_ct(id):
    if id=='1':
        return '这是发布文章页面!'
    else:
        return redirect(url_for('login'))

if __name__ == '__main__':
    app.run(debug=True)

这样,我们的前端页面就被渲染出来了。
模板传参
我们希望可以通过模板来渲染传递我们后台传入的参数,应该怎么去做呢?
1.当需要传入的参数较少时,我们可以直接在函数中传参

from flask import Flask,redirect,url_for,render_template

app = Flask(__name__)


@app.route('/')
def index():
    return 
render_template('index.html',username='Gaoshiguo',age='18',gender='male')#为前端页面传入三个参数:用户名,年龄和性别

@app.route('/articles/')
def show_articles(id):
    return '您请求的文章id是%s'%id
@app.route('/blog/')
def blog():
    return '这是发布文章页面!!!'
@app.route('/login/')
def login():
    return '这是登录页面,请登录!!!'

@app.route('/blog/')
def redi_ct(id):
    if id=='1':
        return '这是发布文章页面!'
    else:
        return redirect(url_for('login'))

if __name__ == '__main__':
    app.run(debug=True)

2.当传入的参数较多时,可以采用以下方式,构建一个字典,将参数名和值以字典的方式存储,然后再直接引用即可

from flask import Flask,redirect,url_for,render_template

app = Flask(__name__)


@app.route('/')
def index():
    parameter ={
    'username':'高手',
    'age':'18',
    'gender':'男',
    'height':'180cm',
    }
    return render_template('index.html',**parameter)

@app.route('/articles/')
def show_articles(id):
    return '您请求的文章id是%s'%id
@app.route('/blog/')
def blog():
    return '这是发布文章页面!!!'
@app.route('/login/')
def login():
    return '这是登录页面,请登录!!!'

@app.route('/blog/')
def redi_ct(id):
    if id=='1':
        return '这是发布文章页面!'
    else:
        return redirect(url_for('login'))

if __name__ == '__main__':
    app.run(debug=True)
python+flask开发属于自己的个人轻量级web服务网站(四)_第3张图片
18.png

这样就完成了页面渲染和通过模板传递后台参数!!!

你可能感兴趣的:(python+flask开发属于自己的个人轻量级web服务网站(四))