Как сделать мой код нечувствительным к аббревиатурам

Я создаю веб-сайт, который показывает доступные автостоянки в кампусе каждого колледжа. Как сделать код нечувствительным к аббревиатурам, например, если кампус называется DCU Alpha?

автостоянки.html

<h2>
{% if campus %}
{{ campus }}
{% else %}
No such campus
{% endif %}
</h2>
{% if campus %}
{% if carparks %}
<ul>
{% for carpark in carparks %}
<li>{{carpark.name}}: {{carpark.spaces}} spaces, {{carpark.disabled_spaces}} spaces for people with disabilities
  <br>Spaces available:  {{ carpark.spaces_available }}<br><br>
</li>
{% endfor %}
</ul>
{% else %}
<p>No carparks found</p>
{% endif %}
{% endif %}

просмотры.py

def carparks(request):
    context = {}
    Base_URL = 'http://jfoster.pythonanywhere.com/carparks/'
    campus_name = request.GET['campus']
    try:
       campus = Campus.objects.get(name__iexact=campus_name)
    except Campus.DoesNotExist:
       return render(request,"parkatdcu/carparks.html",context)
    carparks = Carpark.objects.filter(campus_id=campus)
    carpark_info = []
    for carpark in carparks:
        URL = Base_URL + carpark.name
        r = requests.get(URL).json()
        if 'spaces_available' in r:
            spaces_available = r['spaces_available']
        else:
            spaces_available = 'not available'
        carpark_info.append({
                         'name': carpark.name,
                         'spaces': carpark.spaces,
                         'disabled_spaces': carpark.disabled_spaces,
                         'spaces_available': spaces_available
                         }
                        )
        context['campus'] = campus_name.title()
        context['carparks'] = carpark_info
        return render(request,"parkatdcu/carparks.html",context)

🤔 А знаете ли вы, что...
Python имеет богатую стандартную библиотеку, включая модули для работы с текстом, файлами и сетями.


67
1

Ответ:

Решено

Оригинальный ответ: Манипуляции со строками

Вы можете форсировать строки в верхнем регистре в python/javascript следующим образом:

питон

# becomes DCU ALPHA
'dcu alpha'.upper()
 
# becomes Dcu Alpha
'dcu alpha'.capitalize()

# becomes DCU Alpha: 
'dcu alpha'.split(' ')[0].upper() + ' ' + 'dcu alpha'.split(' ')[1].captialize()

JavaScript

// becomes DCU ALPHA:
'dcu alpha'.toUpperCase()

// becomes DCU Alpha:
'dcu alpha'.slice(0, 5).toUpperCase() + 'dcu alpha'.slice(5,)

Обновлено: условное форматирование:

Предположим, у нас есть такие названия кампусов:

campuses = ['dcu alpha', 'northridge', 'lsu univiersity', 'princeton', ...]

Мы можем добавить некоторую логику для проверки кампусов с акронимами:

просмотры.py

# check if a campus contains two words:
if len(campus_name.split(' ')) > 1: 
    # campus name has at least two words
else: 
    # campus name has only one word

Мы также можем создать два списка, один с названиями кампусов, которые имеют аббревиатуры, а другой с названиями кампусов, которые не имеют:

# set two lists:
campuses_with_acronyms = ['dcu alpha', 'lsu univiersity', ...]
campuses_without_acronyms = ['northride', 'princeton', ...]

# check if the campus name is in either list:
if campus_name in campuses_with_acronyms:
    # campus name has an acronym
else:
    # campus name does not have an acronym