在Python上使用app.route循环

在Python上使用app.route循环,python,Python,由于有一个循环,我正在尝试在我的服务上创建几个URL。问题是我在app.route中创建的每个函数不能与其他函数同名。我不知道如何创建不同的函数名。。。 代码如下: json_tweets = [] for line in open('C:\Users\Benjamin\Desktop\DashboardProject\last_rated_set.json',"r"): json_tweets.append(json.loads(line,"ISO-8859-1")) cashta

由于有一个循环,我正在尝试在我的服务上创建几个URL。问题是我在app.route中创建的每个函数不能与其他函数同名。我不知道如何创建不同的函数名。。。 代码如下:

json_tweets = []

for line in open('C:\Users\Benjamin\Desktop\DashboardProject\last_rated_set.json',"r"):
    json_tweets.append(json.loads(line,"ISO-8859-1"))

cashtag_tab = []  

for tweet in json_tweets:
    if not(tweet['cashtag'] in cashtag_tab) :
        cashtag_tab.append(tweet['cashtag'])        

for i in range(0,(len(cashtag_tab)-1)) :
    var=cashtag_tab[i]
    @app.route("/"+var)
    def company(var) :
        finance=Share(var)
        datas =  finance.get_historical('2014-01-01', '2014-12-31')
        datas = json.dumps(datas, default=json_util.default)    
        return datas

我得到了错误断言错误:View函数映射正在重写一个现有的端点函数:公司

假设你现在使用了烧瓶,你应该考虑自定义URL转换器。查看下面的链接

-url\u映射UrlConverter API -示例url转换器 -RegexConverter by


无论如何,指定问题的更多详细信息总是有助于获得准确的答案:)

这会失败,因为默认情况下Flask从函数中派生端点名称,但稍后它会失败,因为函数
公司
需要一个参数
var
,并且路由没有参数化。最简单的选项是只检查处理程序中的值:

@api.route('/<var>')
def company(var):
    if var not in cashtag_tab:
        abort(404)
然后将处理程序注册为:

@url_family(cashtag_tab)
def company(var):
    ...

感谢您这么快的回答,我对stackoverflow和python都是新手,下次我会给出更多细节。我将调查您提供给我的链接
@url_family(cashtag_tab)
def company(var):
    ...