В Flask я могу изменить префикс чертежа, но есть ли способ изменить URl отдельного представления?
Например, скажем, у меня есть проект fish
.Он имеет множество представлений, таких как fish.view
, fish.edit
, fish.index
и fish.search
.Префикс по умолчанию для светокопии /fishes/
, поэтому представления в конечном итоге будут иметь вид /fishes/<id>/
, /fishes/<id>/edit
, /fishes/
и /fishes/search
.
Как изменить URL-адрес fishes.search
просто /search
вместо /fishes/search
, без изменения URL-адресов других представлений?
Я знаю, что мог бы сделать это:
@app.route('/search')
def search(**kwargs):
return fish_views.search(**kwargs)
Однако, если бы я это сделал,тогда url_for('fish.search')
все равно вернется /fishes/search
.Я хочу, чтобы url_for
вернул предпочтительный URL.
def create_app():
app = Flask(__name__)
from . import fish_views
app.register_blueprint(fish_views.blueprint)
app.change_view_url_somehow('fish.search', '/search')