flask基础及模板引擎(下)

1.创建如下表结构:
flask基础及模板引擎(下)_第1张图片
2.404.html里面代码如下:




    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    抱歉,你访问的页面不存在。 - 简书
    
    
    
    
    
    
    
    
    
    
    



抱歉,你访问的页面不存在。

可能是因为您的链接地址有误、该文章已经被作者删除或转为私密状态,您可以尝试返回「简书」首页

3.500.html里面代码如下:




    
    Title


    

服务器出故障了,请休息片刻

4.base.html里面代码如下:

{% extends 'bootstrap/base.html' %}

{% block title %}{% endblock %}

{% block navbar %}
    
{%- endblock navbar %}


 {% block content -%}
 
     
{% block page_content %}默认内容{% endblock %}
{%- endblock content %}

5.第一个index.html里面的代码如下:

{% extends 'boostrap_demo/base.html' %}
{#继承于父页面#}

{% block title %}
    用户首页
{% endblock %}
{% block head %}
    {{ super() }}
    
{% endblock %}
{% block page_content %}
    

欢迎来到红浪漫,楼上男宾两位

{# #} {% endblock %}

6.第二个index.html里面的代码如下:




    
    Title
    


序号 姓名
序号 姓名
序号 姓名

Example block-level help text here.

7.macro.html里面的代码如下:

{% macro nini(name="",value="",type="text") %}
    
{% endmacro %}

8.第二个base.html里面的代码如下:




  
    
    
    
    
    
    {% block title %}{% endblock %}
    
    
  

  

    

    
{% block content %}

我是父模板内容

默认在子页面中不显示
如果加上 super 即显示我有显示子页面自己的内容

{% endblock %}

9.footer.html里面的代码如下:

联系方式:13888888888

10.header.html里面的代码如下:



11.include.html里面的代码如下:




    
    页面包含


    {% include "header.html" %}
    我是中间内容
    {% include "footer.html" %}


12.第三个index.html里面的代码如下:




    
    flask模板引擎


    

test

{# 四个{}表示变量#} {{ username }}
    {% for foo in request %}
  • {{ foo }}
  • {% endfor %}
{% for foo in request %} {% endfor %} {% for foo in request %} {% endfor %} {% if request %} {% endif %} {#这是注释 #}

13.index1.htnl里面的代码如下:





    
    服务器返回数据  模板渲染数据


    {# 页面内容展示开始#}
    

{{ username|title }}

{{ age }}

{{ sex }}

{{ username }}/{{ height|trim }}

{{ tag }} {{ tag|striptags }} {{ tag|safe }} {% if age == 18 %}

高考考了多少分

{% elif age > 20 %}

大学谈女朋友了没有

{% else %}

买房子了没

{% endif %} {# 页面内容展示结束#}
    {% for book in books %}
  • {{ book }}
  • {% endfor %}
{% for p,value in persons.items()|reverse %} {% endfor %}
{{ p }}/{{ value }}
{% for boo in bookes %} {% if loop.first %} {% elif loop.last %} {% else %} {% endif %} {% endfor %}
序号 书名 作者 价格
{{ loop.index }} {{ boo.name }} {{ boo.author }} {{ boo.price }}

14.macroindex.html里面的代码如下:

{% import "macros/macro.html" as macros %}



    
    Title


武汉千锋大学登录系统

用户名: {{ macros.nini('username') }}
密码: {{ macros.nini('password',type='password') }}
{{ macros.nini(value="提交",type='submit') }}

15.qf.html里面的代码如下:

{% extends 'base.html' %}

{% block title %}用良心做教育{% endblock %}


{% block content %}
    {{ super() }}
     拼搏到无能为力,坚持到感动自己
{% endblock %}

16.whqf.html里面的代码如下:

{% extends 'base.html' %}

{% block title %}武汉千锋用良心做教育{% endblock %}


{% block content %}
       武汉python2003拼搏到无能为力,坚持到感动自己
{% endblock %}

17.app.py里面的代码如下:

from flask import Flask,request,make_response,render_template
from flask_script import Manager
from flask_bootstrap import Bootstrap

# app = Flask(__name__,template_folder="C:/www/2002")
app = Flask(__name__)
app.config['BOOTSTRAP_SERVE_LOCAL'] = True  #使用本地的 css js等文件  不用
#远程绝对路径
manager = Manager(app)
bootstrap = Bootstrap(app)
@app.route('/hello')
def index():
    # return request.url # 获取用户请求的完整urlhttp://127.0.0.1:8081/hello
    # return request.host_url # http://127.0.0.1:8081/
    # return request.path #/hello
    # return request.method #GET  请求方式 包括 GET 和 POST
    #GET 速度快 但是不安全   POST 速度慢 但是安全性高
    # return request.remote_addr
    #http://127.0.0.1:8081/hello?username=123
    # return request.args['username'] # 123 获取get请求的参数
    # return request.headers['User-Agent']
    return request.headers['Cookie']  #获取请求头的信息
    # 浏览器携带用户的请求 以及header头 发送给服务器

# 2开头是请求正常
# 3 重定向
# www.360buy.com   永久跳转到 jd.com   301 永久重定向
#  www.zhihu.com   如果没有登录 临时跳转到 登录页面   302
#4开头的状态码  肯定处在你客户端浏览器这边
# 5开头      问题出在服务器这里
@app.route('/res')
def res():
    # return '页面找不到了',404  自己构建返回给用户的状态码
    # resp = make_response('亮仔去了广东就成了靓仔',404)
    resp = make_response('亮仔去了广东就成了靓仔')
    resp.headers['Content-Type']  = 'text/json;charset=utf-8'
    # return render_template('index.html')
    return resp

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

#模板渲染变量  流程控制
@app.route('/index1')
def intro():
    context = {
        'username':'kangbazi who  are you',
        'age':18,
        'sex':'男',
        'height':'           181cm            ',
        'tag':'百度',
        'books':['水浒','三国','红楼','葵花宝典'],
        'persons':{
            'username':'yangyang',
            'age':18,
            'height':'181cm',
        },
        'bookes':[
            {
                'name': '明朝野史',
                'author':'亮仔',
                'price': 100,
            },
            {
                'name': '金平梅',
                'author': '兰兰',
                'price': 150,
            },
            {
                'name': '后宫那些事',
                'author': '丹丹',
                'price': 200,
            },
            {
                'name': '上帝也疯狂',
                'author': '玮玮',
                'price': 203,
            }
        ]
    }
    return render_template('index1.html',**context)

@app.route('/include')
def include():
    return render_template('include.html',username='kangbazi')


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


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


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


@app.errorhandler(404)
def page_not_found(e): #这个参数用来捕获到错误信息

    return render_template('boostrap_demo/404.html')

@app.errorhandler(500)
def server_error(e): #这个参数用来捕获到错误信息

    return render_template('boostrap_demo/500.html')

@app.route('/movie')
def movie():
    return '电影首页'

@app.route('/music//')
def music(id):
    return '您正在收听的是第%d首音乐' % id
if __name__ == "__main__":
    # app.run(debug=True,port=8081)
    manager.run()

你可能感兴趣的:(flask)