#python #flask
#python #flask
Вопрос:
Я создал базовое приложение, которое отображает разные страницы для отображения списка пользователей в разных командах. У меня есть список команд, указанных в коде:
pages = ['SysOps', 'NetOps', 'DBOps']
Внутри page_view он вызывает внешний метод, который выполняет вызов API и возвращает список объектов на основе имени команды, которая передается. Ниже приведена функция:
@application.route('/<team>', methods=['POST', 'GET'])
def page_view(team):
context = { 'team': team, 'item': getApiData(str(team)), 'pages': pages }
return render_template('index.html', **context)
Я передаю список страниц как часть контекста, и цикл jinja for повторяет его, чтобы создать панель навигации.
<nav class="navbar navbar-dark bg-dark">
{% for page in pages %}
<a class="nav-item nav-link" href="{{ url_for('page_view', team=page) }}"><font size="3em" color="white">{{page}}</font></font></a>
{% endfor %}
</nav>
На моей тестовой машине щелчок по ссылке navbar для SysOps приводит к localhost:5000/SysOps
успешному завершению. Однако, когда я вручную ввожу URL-адрес с помощью, он немедленно переписывается на localhost:5000/sysops
, что не отображает правильную страницу, поскольку это неправильный случай.
Как мне запретить изменение URL-адреса на нижний регистр?
Ответ №1:
Все URL-адреса веб-сайтов отображаются в нижнем регистре, например FACEBOOK.COM , или на любом другом веб-сайте вы будете перенаправлены на версию в нижнем регистре; facebook.com
Комментарии:
1. Я хочу, чтобы все после косой черты оставалось в правильном регистре, например, с
https://www.reddit.com/r/StarWars/
Да, сам URL-адрес в нижнем регистре, но фактическая страница частично заглавная.
Ответ №2:
Я не думаю, что вы можете это сделать, поскольку все URL-адреса будут перенаправлены в нижнем регистре. Ваш единственный вариант — сделать так, чтобы страницы отображали все строчные буквы или отправляли данные страницы на маршрут в виде POST
запроса.Вместо того, чтобы принимать его в качестве параметра url.