首页
仓库
文档
nginx手册
Docker手册
workerman
Flask
PHP
python
RabbitMQ
其他
Linux
占位1
占位2
目录
###URL构造 ```python url_for(request.endpoint) #当前路由 print(url_for('new2_show',name='zangsan',id=888)) ###参数1是路由函数名字,不是路由名字 print(url_for('new_show', id=666)) print(url_for('about')) print(url_for('new2_show',name='zangsan',id=888,kkk='李四',page=1,key='shishi')) ### name和id 是指定路由设置, 其他是url补充参数 ###/new/zangsan/888 ###/new/666 ###/about ###/new/zangsan/888?kkk=%E6%9D%8E%E5%9B%9B&page=1&key=shishi ``` ###多参数传入 params = { 'keyword': 'Flask', 'page': 2 } url = url_for('search', **params) {{url_for('index.index.show',**{'id':22,'name':'name'})}} /index/index/show/id/name ###蓝图URL构造 ``` 蓝图名.函数名 print(url_for('index.list')) print(url_for('test.show',name='zangsan',id=888,kkk='李四',page=1,key='shishi')) #/index/list #/test/show?name=zangsan&id=888&kkk=%E6%9D%8E%E5%9B%9B&page=1&key=shishi ``` ###自定义URL构造 ```python #如果你传入不存在的蓝图,会报错,自定义一个函数 def get_url(endpoint,params=None): try: return url_for(endpoint) if params==None else url_for(endpoint,**params) except RuntimeError: return None # 或者你可以返回一个默认的URL #使用方法 {{get_url('index.index.show',{'id':22})}} {{get_url('index.index.show')}}?id=22 ``` ```python #字典转url参数字符串 keys={'a':123,'b':666} {{url_for(request.endpoint)}}?page={{ data.pages-1 }}&{{keys|dict_to_query_string}} def dict_to_query_string(data_dict): # 使用字典推导式将字典项转换为'key=value'格式的字符串 items = ['{}={}'.format(key, value) for key, value in data_dict.items()] # 使用'&'连接所有的'key=value'字符串 query_string = '&'.join(items) return query_string ```