Надеюсь, название имеет смысл. Я хочу иметь возможность выполнять поиск в Yelp API, используя местоположение (обязательно) и имя ( не обязательно). Прямо сейчас вы можете оставить поле имени пустым, но он все равно будет использовать это в поиске, поэтому ничего не будет возвращать, несмотря ни на что.
base. html
<form action="{% url 'venue_list' %}">
<!-- NOT required -->
{% render_field search_form.search_name.label %}:
{% render_field search_form.search_name class="form-control" %}
<!-- required -->
{% render_field search_form.search_location.label %}:
{% render_field search_form.search_location class="form-control" %}
<input type='submit' value='SEARCH'>
</form>
yelp_api.py
def get_name(location, term=None):
url = 'https://api.yelp.com/v3/businesses/search'
if term != None:
params = {
'location': f'{location}',
'term': f'{term}'
}
else:
params = {
'location': f'{location}'
}
headers = {'Authorization': f'Bearer {YELP_API_KEY}'}
*etc etc*
forms.py
class SearchForm(forms.Form):
search_name = forms.CharField(required=False, label='Name')
search_location = forms.CharField(required=True, label='City, State, or Zip Code')
views_ways.py
def venue_list(request):
search_location = request.GET.get('zip_code')
search_name = request.GET.get('name')
if not Venue.objects.filter(zip_code=search_location).exists():
venues = yelp_api.get_name(search_location)
venues = Venue.objects.filter(zip_code=search_location).order_by('name')
else:
venues = Venue.objects.filter(zip_code=search_location).order_by('name')
return render(request, 'restroom_rater/venue_list.html', { 'venues': venues, 'search_location': search_location})
views_ways.py, я знаю, настроен только для поиска местоположения, потому что я изначально настроил его именно так. Застрял, пытаясь указать только местоположение или местоположение И имя. Дайте мне знать, есть ли что-то еще, что я могу добавить для большего контекста.