会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 128778个问题

"""
简单总结:
1. 有时候我们想要在模版中对一些变量进行处理,那么就必须需要类似于Python中的函数一样,可以将这个值传到函数中,然后做一些操作。
在模版中,过滤器相当于是一个函数,把当前的变量传入到过滤器中,然后过滤器根据自己的功能,再返回相应的值,之后再将结果渲染到页面中。

2. 基本语法:`{{ variable|过滤器名字 }}`。使用管道符号`|`进行组合。
"""
from flask import Flask,render_template

app = Flask(__name__)

# #【1】过滤器的基本使用
# @app.route('/')
# def hello_world():
#     return render_template('index.html',postion=-1)

#【2】default过滤器的基本使用
@app.route('/')
def hello_world():
    context={
        'postion':'-1'
    }
    return render_template('index.html',**context)


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

下面是index

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h3>过滤器的基本使用</h3>
    <p>位置的绝对值为【未使用过滤器】:{{ postion }}</p>
    <p>位置的绝对值为【使用过滤器】:{{ postion|abs }}</p>
    <hr>
    <h3>default过滤器的使用</h3>
    {# 如果取的到就取什么,如果取不到过滤器就会生效 #}
 <p>个性签名【使用过滤器】:{{ signature|default("此人很烂") }}</p>
</body>
</html>

报错:TypeError: bad operand type for abs(): 'str'如下图2019-09-08.png这个是什么意思?类型错误?没添加default时候好使,添加后就报错了。??


Python 全系列/第八阶段:Flask框架/Flask之Jinja2模版 2楼
Python 全系列/第八阶段:Flask框架/Flask视图基础和URL 5楼

from sqlalchemy import create_engine, Column, String, Integer, ForeignKey, DateTime
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship
from datetime import datetime
import time

USERNAME = 'root'
PASSWORD = '19991108ljf'
HOSTNAME = '127.0.0.1'
PORT = '3306'
DATABASE = 'first_sqlalchemy'

DB_URL = 'mysql+pymysql://{user}:{password}@{host}:{port}/{db}?charset=utf8'\
    .format(user=USERNAME, password=PASSWORD, host=HOSTNAME, port=PORT, db=DATABASE)

engine = create_engine(DB_URL)
Base = declarative_base(engine)
session = sessionmaker(engine)()


# 排序方式1:定义模型时指定模型方式
class Article(Base):
    __tablename__ = 'article'
    id = Column(Integer, primary_key=True, autoincrement=True)
    title = Column(String(50), nullable=False)
    create_time = Column(DateTime, nullable=False, default=datetime.now)
    __mapper_args__ = {
        # 正序
        # 'order_by': create_time
        # 倒叙
        "order_by": create_time.desc()
    }

    def __repr__(self):
        return '<Article(title:%s,create_time:%s)>' % (self.title, self.create_time)


def add_data():
    Base.metadata.drop_all()
    Base.metadata.create_all()
    article_1 = Article(title='title_1')
    session.add(article_1)
    session.commit()
    time.sleep(3)
    article_2 = Article(title='title_2')
    session.add(article_2)
    session.commit()


def oper():
    # 不用再指定排序方式  因为在定义模型的时候  就已指定好排序方式
    articles_2 = session.query(Article).all()
    print(articles_2)


if __name__ == '__main__':
    add_data()
    # oper()

老师,我这串代码报错,提示我得到意外参数‘order_by’怎么解决

屏幕截图 2021-05-16 155911.png

Python 全系列/第八阶段:Flask框架/Flask数据库 6楼
Python 全系列/第八阶段:Flask框架/Flask视图高级 8楼
Python 全系列/第八阶段:Flask框架/Flask高级 9楼
Python 全系列/第八阶段:Flask框架/Flask视图高级 10楼

fl_se_67.zip

屏幕截图(27).png请问我这是什么问题


Python 全系列/第八阶段:Flask框架/Flask高级 11楼
Python 全系列/第八阶段:Flask框架/Flask之Jinja2模版 12楼
Python 全系列/第八阶段:Flask框架/Flask视图基础和URL 14楼

百战程序员微信公众号

百战程序员微信小程序

©2014-2024 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637