вы должны получить данные из шаблона следующим образом: (имя функции в views.py совпадает с названием url.py.
def something(request):
if request.method == 'POST':
city = request.POST.get('data')
print(city)
data - это имя вашего входного тега в шаблоне:
<input name='data'>
Обновление: вам нужно иметь действие для вашей формы. Она включает в себя URL-адрес. Этот URL-адрес соединяет вас с функцией просмотра этой формы. Также вы должны добавить имя к своему входному тегу, а не к тегу формы. .
template:
<form method="POST" action = "{% url "url_something" %}" >{% csrf_token %}
<div class="field has-addons">
<div class="control is-expanded">
<input class="input" type="text" placeholder="City Name" name="data" >
</div>
<div class="control">
<button class="button is-info" type="submit">
Search City
</button>
</div>
</div>
</form>
в url.py у вас должен быть такой URL-адрес ::
url(r'^something', views.something, name='url_something'),