【问题标题】:Making an @get() request using a variable - bottle.py使用变量创建 @get() 请求 - bottle.py
【发布时间】:2021-03-03 08:18:46
【问题描述】:

我有一个获取随机字符串的函数,然后我有一个 @get 请求来获取随机字符串作为请求,但是,结果比我想象的要难。我怎样才能做到这一点?

这是代码的sn-p

link_id = ''

def confirm_email(email, name):
    global link_id
    letters = string.ascii_lowercase
    link_id = ''.join(random.choice(letters) for i in range(100))


@get('/' + link_id)
def lnkoconfirm():
    global name
    global email
    global password

【问题讨论】:

  • 你能举个例子吗?
  • 不要使用global。而是学习如何调用函数和传递参数。
  • 话虽如此,您究竟希望您的@get() 路由做什么?它应该在响应中返回什么?
  • 那么confirm_email()函数的目的是什么。你声明它接受两个参数,但是你对这些参数什么都不做。您应该弄清楚这些参数的用途并对其进行处理。
  • 对不起,我没有很好地解释这一点,但我基本上是在它为链接生成随机数字字符串的地方,然后当他们点击时将该链接发送到用户的电子邮件地址它,我希望网站然后添加帐户。但是因为您通过电子邮件单击链接,所以变量会重置

标签: python bottle


【解决方案1】:

您可以使用动态路由。

https://bottlepy.org/docs/dev/tutorial.html#request-routing

@get('/<link_id>')
def lnkoconfirm(link_id):
    global name
    global email
    global password

【讨论】:

  • 我们还应该阻止 OP 使用global,并为他们指出解决问题的更结构化的方法。例如,您可以展示如何将link_id 传递给另一个函数。
猜你喜欢
  • 2019-02-16
  • 2019-01-09
  • 1970-01-01
  • 2018-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-10
  • 2016-02-04
相关资源
最近更新 更多