flask - 请求后动态生成flask路由
问题描述
我是烧瓶的新手。我正在尝试动态生成路由代码如下。
app = Flask(__name__)
app.secret_key = "super secret key"
@app.route('/', methods=['POST', 'GET'])
def index():
optionlist = {"list":["1","2","3","4","5"]}
if request.method == "POST":
optselect = request.form.get("optform")
optionlist["selected"] = optselect
session['optionselected'] = optionlist["selected"]
return render_template("index.html", optionlist=optionlist)
else:
session['optionselected'] = optionlist["selected"]
return render_template("index.html", optionlist=optionlist)
和动态路由如下:
@app.route('/<optionid>', defaults={'optionid': '1'})
def optionroute(optionid):
optionid = session.get('optionselected', None)
return "Test {}!".format(optionid)
我的问题是如何正确编写以便根据optionid生成路由。上面的代码对任何路线都给出了相同的响应。
解决方案
推荐阅读
- javascript - 从列表中显示多个文本实例?
- angular - Angular 6 如何将 PrimeNG 全局过滤器移到
? - javascript - React 中的受控选择未设置 defaultValue
- c# - 托管在服务器 IIS 上的 .Net Core 2.x 应用程序“未指定身份验证方案”
- asynchronous - Clojure async - 通道中的项目顺序
- binary - 在 Zebra GK420d 上使用 ZPL2 中的 ~DY 命令以最快速度打印时,我应该以什么格式发送数据?
- sql-server - 消息 208,级别 16,状态 1,第 62 行无效的对象表名称
- c# - .NET Core 实体框架
- ruby-on-rails - 我的模型中带有下划线的这个属性如何转换为破折号分隔的单词?
- cross-browser - 在 Edge 13 上进行测试