Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶URL显示_Python_Url_Flask - Fatal编程技术网

Python 烧瓶URL显示

Python 烧瓶URL显示,python,url,flask,Python,Url,Flask,我有一个自定义url,看起来像 @app.route('/user/<user_name>/<param>') def show_param(user_name, param): #do something @app.route('/user/')) def显示参数(用户名,参数): #做点什么 页面显示良好,工作正常,但param中可能有空格等,我不想显示这些。我想做的是在显示给用户之前更改param的视觉显示。我如何访问它?您可以调整URL以适合您的口味,

我有一个自定义url,看起来像

@app.route('/user/<user_name>/<param>')
def show_param(user_name, param):
    #do something
@app.route('/user/'))
def显示参数(用户名,参数):
#做点什么

页面显示良好,工作正常,但
param
中可能有空格等,我不想显示这些。我想做的是在显示给用户之前更改
param
的视觉显示。我如何访问它?

您可以调整URL以适合您的口味,然后重定向到该URL

@app.route('/user/<user_name>/<param>')
def show_param(user_name, param):
    if ' ' in param:
        param = param.replace(' ', '-')
        return redirect(url_for('show_param'), user_name=user_name, param=param)
@app.route('/user/'))
def显示参数(用户名,参数):
如果参数中有“”:
参数=参数替换(“”,“-”)
返回重定向(url_for('show_param'),user_name=user_name,param=param)

您所说的“在参数显示给用户之前更改其视觉显示”是什么意思?用户的地址栏什么的?不知道你是什么意思?你是说URL允许空格吗?如果你想限制什么类型的值
param
匹配,你需要指定一个转换器。Flask/Werkzeug带有字符串转换器(默认值为
/
)、
int
float
。如果需要其他内容,则必须创建自定义转换器。为了清楚起见,我只想将url栏从显示类似/user/myname/foo%20bar的内容更改为/user/myname/foo bar。您应该使用
url\u for()
生成重定向url。