Ves93 Ответов: 1

Джанго 1.11.х - как я могу изменить значение переменной внутри компании vew


Так что этот код работает отлично.

Однако мне нужно, чтобы пользователь мог изменить значение переменной "город."

На данный момент он равен "Лондон", и если я введу допустимое название города, на экране появится соответствующий результат. Я использую API, так что у них есть все города в их базе данных.

Поэтому, когда они вводят город в поле ввода страницы и нажимают кнопку Отправить/Поиск, они изменяют значение переменной город и таким образом показывают (погоду) города, который они ищут.

Мне посоветовали, что все это можно сделать только с помощью формы get, но я не знаю, как это сделать.

Не могли бы вы дать мне совет?


def user_homepage(request):
    url = 'http://api.openweathermap.org/data/2.5/weather?q={}&units=imperial&appid=38e4fec38e509c018629074ac1754906'
    city = 'London'
    
    r = requests.get(url.format(city)).json()
    
    city_weather = {
        'city': city,
        'temperature' : r['main']['temp'],
        'description' : r['weather'][0]['description'],
        'icon' :  r['weather'][0]['icon'],
    }
    
    result = {'city_weather' : city_weather}
    return render(request, 'userhomepage.html', result)


Что я уже пробовал:

Я надеюсь, что не нарушаю правила, но на самом деле я ничего не сделал, так как не знаю, как это сделать.

Формы-это то, с чем я борюсь.

Prakash Yogi

Просто используйте форму с методом post

1 Ответов

Рейтинг:
0

RickZeeland

Может быть, этот учебник поможет вам: https://www.tutorialspoint.com/django/django_form_processing.htm[^]