У меня проблемы с передачей значений объекта модели через шаблон URL. URL:
url(r'^cities/(?P<city>\w+)/$', 'city_firm', name='city_firm'),
В шаблоне (со страницы индекса) у меня есть:
<a href="{% url city_firm city %}">{{ city }}</a>
Это цикл for
.
Связанное представление:
def city_firm(request, city):
city1 = Cities.objects.get(city=city)
cityf = city1.Firms.all()
return render_to_response('cityfirm.html', {'cityf': cityf})
Две модели (Cities
, Firms
) находятся во многих отношениях.
Я продолжаю получать TemplateSyntaxError
по индексу (NoReverseMatch while rendering: Reverse for 'city_firm' with arguments '(<Cities: >,)' and keyword arguments '{}' not found
). В теге ссылки шаблона я пробовал: {% url city_firm city=city %}
, {% url city_firm city=cities.city %}
. Ничего не изменилось. Часть urlconf
кажется правильной. Проблема, кажется, в шаблоне. Возможно, есть проблема со строковыми значениями объекта, поскольку они не на английском языке. Но я принял несколько мер предосторожности, чтобы предотвратить это. Возможно, что-то не так с представлением, но в сообщении об ошибке указано шаблон Есть идеи?
Решение
Спасибо всем! Наконец я понял это. Проблема была проста: я пытался посылать имена атрибутов объекта через URL, в котором были не английские символы и пробелы. Чтобы это исправить, мне пришлось редактировать свои модели.