Есть простая модель
models.py
class Cities(models.Model):
city = models.CharField(max_length=50, verbose_name="Город")
slug = models.SlugField(unique = True, default = '')
Хочу привязать ее к форме (предполагаю с использованием select), таким образом чтобы выбранное из списка значение передавалось в качестве именованного аргумента в существующую вьюху без вмешательства в БД.
view.py
def viewtrainers(request, slug):
city = Cities.objects.get(slug = slug)
trainers = Trainer.objects.filter(city__slug = slug)
return render(request, "trainers.html", {'trainers':trainers, 'city': city})
В файле шаблона наговнокодил такое
index.html
{% if town %}
<select>
<form action = "{% url 'trainers:viewtrainers' i.slug%}" method = "get">
{% for i in town %}
<option value="{{ i.slug }}" >{{ i.city }}</option>
{% endfor %}
<input type="submit" value="Submit">
</form>
</select>
{% endif %}
Но получается что form action пытается передать в viewtrainer переменную i.slug которая появляется позже из цикла for, соответственно страница грузится с ошибкой. Подскажите как это сделать правильно?
Updated 15 Sept. 2017, 11:05 by lepiloff.