flaks框架学习:在 URL 中添加变量

url标记为变量

通过把 URL 的一部分标记为 <variable_name> 就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给对应的视图函数

通过使用 < converter:variable_name > ,可以选择性的加上一个转换器,为变量指定规则(就是指定变量的类型)

看这个例子:

from flask import Flask
app = Flask(__name__)

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

'''将url的一部分标记为变量,url:/languages/这部分作为变量
作为关键字参数的形式 lang = value 传递到对应的视图函数中,lang=value
'''
@app.route('/languages/<lang>')
def get_language(lang):
    return f'语言是:{lang}'

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

浏览器输入:
在这里插入图片描述
在这里插入图片描述
可以看到url中的一部分就作为变量传递到了视图函数中。这里要注意一下,这部分的变量名必须全部一样。
在这里插入图片描述

指定变量的类型

默认情况下,使用@app.route('/languages/<lang>')中的lang接收的参数类型都是string类型的,哪怕你输入的url是http://127.0.0.1:5000/languages/1,这里面的1是整数,但是lang接收到以后它就变成了string
在这里插入图片描述
在这里插入图片描述

如果想要它变成整型,我们可以使用**< converter:variable_name >** , 选择性的加上一个转换器,为变量指定规则。
转换器类型:
在这里插入图片描述
这里修改为< int: lang >:

@app.route('/languages/<int:lang>')
def get_language(lang):
    print(type(lang))
    return f'语言是:{lang}'

这时候1的类型就变成了整型
在这里插入图片描述
还有一些其他的类型,比如path类型,可以使接收的参数中含有斜杠/,类似路径:

@app.route('/num/<path:pathStr>')
def get_pathStr(pathStr):
    return pathStr

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Flask-SQLAlchemy 可以使用 `SQLAlchemy.create_engine()` 方法来连接数据库并访问已有表。在连接数据库时可以使用已有表的 URI(如 'mysql://username:password@host:port/database')并设置 `echo=False` 来禁用调试信息。然后就可以使用 `SQLAlchemy.Table()` 方法指定表名来访问已有表了。 ``` from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@host:port/database' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) existing_table = db.Table('existing_table', db.metadata, autoload=True) ``` 需要注意的是,在使用 `autoload=True` 时,需要先连接数据库,并且需要确保数据库已经存在这张表。 ### 回答2: 在使用 Flask-SQLAlchemy 连接数据库时,可以通过以下步骤直接连接数据库已有的表,而不需要重新建表: 1. 首先,在 Flask 的应用程序导入 FlaskFlask-SQLAlchemy 模块,并创建一个 Flask 应用程序对象。 ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) ``` 2. 然后,配置数据库连接信息。在 Flask 应用程序对象设置数据库连接字符串,例如使用 SQLite 数据库: ```python app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///your_database.db' ``` 3. 接下来,初始化 SQLAlchemy 对象,并将其与 Flask 应用程序对象关联。 ```python db = SQLAlchemy(app) ``` 4. 创建一个模型类,表示已有的数据库表的结构。在模型类,定义与数据库表对应的各个字段。 ```python class YourModel(db.Model): __tablename__ = 'your_table_name' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) # 定义其他字段... ``` 注意,在模型类使用 `__tablename__` 属性指定已有的数据库表名称,以便与模型类进行关联。 5. 如果需要,可以在模型类定义各种操作数据库表的方法,例如查询、插入、更新等。 ```python class YourModel(db.Model): # ... @classmethod def query_all(cls): return cls.query.all() @classmethod def insert_data(cls, data): db.session.add(data) db.session.commit() # ... ``` 6. 最后,在应用程序可以直接使用已建立的模型类对数据库表进行操作,例如查询数据。 ```python @app.route('/') def index(): data = YourModel.query_all() # 处理数据... return 'Hello, World!' ``` 通过以上方式,可以直接连接到数据库已有的表,而不需要重新建表。需要注意的是,Flask-SQLAlchemy 提供了更多的操作数据库表的方法,可以灵活地满足各种需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值