У меня проблема с Django.Метод Django GET. Локальная переменная, на которую ссылаются до назначения
Мое сообщение об ошибке:
UnboundLocalError в/город/ локальная переменная 'adv_city' ссылочного перед тем назначением
Обратное прослеживание: http://dpaste.com/751727/
просмотров:
def advert_by_city(request):
c = request.GET.get('city', '')
if c:
adv_city = Advert.objects.filter(city=c)
adverts = Advert.objects.values('city').distinct()
return render_to_response('advert_by_city', {'adverts':adverts},{'adv_city':adv_city}, context_instance=RequestContext(request))
шаблона :
{% for city in adverts %}
<a href="city?{{ city.city }}"/>{{city.city}}</a>
<br/>
{% endfor %}
{% for adverts in adv_city%}
{{adverts.title}}
{% endfor%}
модель:
class Advert(models.Model):
title = models.CharField(max_length=255)
city = models.CharField(max_length=255)
Как это исправить?
Теперь у меня есть сообщение об ошибке: render_to_string() принимает не более 3 аргументов (5 данных) http://dpaste.com/751737/ – pagepydj
@pagepydj Это не связано с предыдущей проблемой. См. Документы для ['render_to_response'] (https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#render-to-response), возможно, что вы имеете в виду:' return render_to_response ('advert_by_city ', {' adverts ': adverts,' adv_city ': adv_city}, context_instance = RequestContext (запрос)) '. (Если вы хотите также передать объект 'c' в шаблон, отлично, но сделайте это как другое поле в словаре, а не как отдельный аргумент) – mgibsonbr