Форум сайта python.su
Добрый вечер!
Добрался я до создания виджетов. Нашел я думаю вполне известную батарейку django-sidebar (https://github.com/ekaputra07/django-sidebar), где благополучно создаю текстовые виджеты. Также сайдбар очень удобен в админке для смены порядка виджетов, поэтому я его и выбрал. Но захотел я сделать поостроумнее, чтобы например выводились последние посты из определенной категории. Для начала возьмем просто последние 3 поста(заголовка).
Пытаюсь исполнить код, но ничего не исполняется(latest_posts.py):
from sidebar.base import SidebarWidget, sidebar_widget from django import forms from news.models import Post #Здесь подключаю модель #В TEMPLATE хочу и запихнуть этот код но не выходит. Т е хочу передать корректно post. TEMPLATE = """ <div class="last_posts"> {% for post in posts %} <div>{{post.title}}</div> {% endfor %} </div> """ #TEMPLATE = get_template('latest_posts_widget.html') # Здесь я пытаюсь выполнить второй метод - подключить файл шаблона, а не громоздить здесь шаблон class TextForm(forms.Form): text = forms.CharField(widget=forms.Textarea) # здесь просто подключение поля textarea для админки posts = BlogPost.objects.all()[:3] # Здесь и пытаюсь вывести эти 3 поста #render_to_response('latest_posts_widget.html', {"posts": posts}) # Или тут что-то вроде такого? Но не умещается в голове такой подход. class LatestPosts(SidebarWidget): #admin_form = TextForm #template_text = get_template('latest_posts_widget.html') ## И здесь пытался напрямую подключить template и все что мы видим в TEMPLATE, просто бы оказалось в 'latest_posts_widget.html template_text = TEMPLATE # register the Widget sidebar_widget = LatestPosts('Latest Posts','Display a Latest Posts')
Отредактировано Minuteman (Авг. 28, 2013 23:31:00)
Офлайн