|
По дефолту урлы записи имеют вид /2012/02/23/test/. Мне нужен вид /cat/subcat/test/. urls: url(r'^testing/', include('zinnia_customized.urls')), zinnia_customized.urls: """Urls for the Zinnia entries""" from django.conf.urls.defaults import url from django.conf.urls.defaults import patterns from zinnia.models import Entry from zinnia.settings import ALLOW_FUTURE entry_conf = {'category_field': 'categories', 'allow_future': ALLOW_FUTURE, 'queryset': Entry.published.on_site()} urlpatterns = patterns( 'zinnia_customized.views.entry_detail', url(r'^(?P<cat>[-w/]+)/(?P<slug>[-w]+)/$', entry_conf, name='zinnia_entry_detail'), ) zinnia_customized.views.entry_detail: """Views for Zinnia entries""" from django.views.generic.date_based import object_detail from zinnia.views.decorators import protect_entry entry_detail = protect_entry(object_detail) В итоге выдает TypeError at /test/cat/subcat/test/ cannot concatenate 'str' and 'dict' objects. 10 часов убил на это :(
показать 5 из 18
show 13 more comments
|
Нужен список шаблонных тегов, банально не смог даже вывести title страницы
Исходя из этой фразы, я бы вам для начала порекомендовал ознакомиться как работают шаблонны в Джанге. Так как title страницы - это не шаблонный тег - это поле модели, которое можно вывести в шаблоне.
генерик вьюхи, которые скоро должны исключить - никто не заставляет вас переходить сразу на новую версию, но опять же - думаю автор тоже в курсе об этом и когда надо будет то переведет все.
остальные ваши вопросы возможно решить только при знании при знании питона и фреймворка.
Просто устанавливал zinnia и не клал в папку проекта -> не мог видеть модели. В связи с этим остается только вопрос, как исправить урл.
ну надо изменить регулярное выражение для урл + подправить вьюху для этого запроса
Ну так изменил, не работает. Даже не знаю в чем дело
можете показать какие строки вы меняли ? и на что ?
дефолтная схема урл: entry_conf = {'date_field': 'creation_date', 'allow_future': ALLOW_FUTURE, 'queryset': Entry.published.on_site(), 'month_format': '%m'}
urlpatterns = patterns( 'zinnia.views.entries', url(r'^(?P<year>d{4})/(?P<month>d{2})/(?P<day>d{2})/(?P<slug>[-w]+)/$', 'entry_detail', entry_conf, name='zinnia_entry_detail'), ) вьюха без изменений
а в модели EntryAbstractClass метод get_absolute_url так написан ? с параметром slug ?
Да. На сколько понимаю эта функция только выводит линк на запись в админке.
Да - но ею так же можно пользоваться и в шаблонах :)
Есть единственная запись. get_absolute_url выглядит так
Схему урл исправляю до
/2012/02/23/ выдает KeyError at /2012/02/23/ 'slug'
Ну логично же - если будет 2 записи в 1 день - как их распознать и отличить что запрашивается? у вас должен быть полюбом мой вариант пермалинка
Ну так запись в данном случае одна. В первом посте я ясно обозначил, какой должен быть урл. Тут запись с этими параметрами есть (одна). Почему она не выводится, мне не понятно.
ну я не знаю при моем коде для get_absolute_url у меня вот такое работает:
Ну так это дефолтная схема
Сори не обратил внимание на вашу задачу - что-то я запутался и щас перечитал внимательно еще раз... - так под ваши условия нужно лучше сделать отдельные вьюху и урл, а не трогать стандартные, так как изменения больше надо сделать во вьюхе.
Сделал вьюху, но выводит она пост вне зависимости от категории. Настоящий урл записи /cat/subcat/test/ , но она доступна и по другим адресам (/ergera/test/). Код http://pastebin.com/wMiKnx4F Не могу заставить работать с категориями. Как жеж не люблю эти генерик вьюхи
Во всем этом есть 1 загвоздка ... категорию мы можем идентифицировать только по слагу ... она у нас может быть как 1, так и второго или третьего уровня - поэтому трудно будет вычислять точную категорию. Именно поэтому разработчик подошел универсально и не заморачился.
Ясно. Мне очень важно сохранить урлы при переходе с вордпресс. Помогайте :)