2010-08-27 1 views
0

У меня есть страница с несколькими годами. Я хочу щелкнуть год, например, 2000, чтобы просмотреть всю информацию.
Что я имею в URL'ами, это:django permalink error

url(r'^browse/time/(\d{4})/$', 'TBDBsite.tb.views.data_time', name="yr"), 

В моделях:

@permalink 
def get_absolute_url(self): 
return('year', [str(self.date.year)]) 

И в шаблоне:

{% for y in yr %} 
    <li><a href="{{ y.get_absolute_url }}"><p> {{ y }}</p></a></li> 
{% endfor %} 

При печати {{год}} Я вижу список с годами, но URL-адрес не работает.

У кого-нибудь есть идеи, как это решить?
Спасибо :)

ответ

1

Во-первых изменить свой адрес в

url(r'^browse/time/(?P<y>\d{4})/$', 'TBDBsite.tb.views.data_time', name="yr"), 

затем в шаблоне

{% for y in yr%} 
<a href="{% url yr y%}" >foo</a> 
{% endfor %} 

И это все

+0

да! ты прав! На самом деле я уже сделал это изменение в своем коде, но не обновил свой ответ. Я учился, и мой ответ был лучшим решением в то время. Позже я переписал код :) – pavid

0

В привязок вы использовали имя yr, но в Permalink вы использовали year. Используйте одно и то же имя в обоих местах.

+0

извините, я играл вокруг, пытаясь выяснить .. он изменился но не работает. – pavid

+0

Тогда нужна дополнительная информация. Что означает «не работает»? Вы получили сообщение об ошибке? Что на самом деле выводится в источнике HTML в href? Что такое 'y' и' yr' в контексте? –

+0

Извините .. Я не получаю никаких ошибок, но когда я пытаюсь нажать на 2000 (пример), ничего не происходит, поэтому что-то не так. год - это список всех лет. У меня есть годы, но не ссылки .. Я все еще новичок в django, так что извините, если это что-то глупое. – pavid