Форум сайта python.su
Всем привет! Прошу помощи!
Мне нужно вывести новости на обычной странице, как на главной, только что бы в коде вывода новостей я мог указать какие именно выводить статьи с помощью id. (-вот что я хочу сделать)
Начал я:
Выдернул код вывода новостей с главной страницы:
{% block sub-content %}
{% for item in last_news %}
<div class=“content-box”>
<div class=“sq-rb”></div>
<a href=“/news/?id={{ item.id }}”>
{% thumbnail item.img “100x100” crop=“center” as img %}
<img class=“main” src=“{{ img.url }}” width=“{{ img.width }}” height=“{{ img.height }}” />
{% endthumbnail %}
</a>
<div class=“news-date”><span class=“red-letter”>{{ item.date_pub|date:“d” }}</span>{{ item.date_pub|date:“E” }}</div>
<p>{{ item.short_text|truncatewords:20 }} <a href=“/news/?id={{ item.id }}”>Подробнее</a> </p>
</div>
{% endfor %}
{% endblock %}
{% extends ‘about.html’ %}
{% load thumbnail %}
{% block title %}Longines{% endblock %}
{% block keywords %}{{ page.keywords }}{% endblock %}
{% block description %}{{ page.description }}{% endblock %}
{% block active-longines %}class=“menu-active”{% endblock %}
{% block content-box %}
<div class=“content-box”>
<div class=“sq-lt”></div>
<div class=“sq-rt”></div>
<div class=“sq-lb”></div>
<div class=“sq-rb”></div>
<h1><span class=“red-letter”></span></h1>
{{ page.content|safe }}
</div>
{% endblock %}
from django.shortcuts import get_object_or_404, render_to_response
from geneva.main.models import Pages, News, Watch, Accessories
def index(request):
page = Pages.objects.get(pk=3)
all_pages = Pages.objects.all()
last_news = News.objects.all().order_by('-id')
return render_to_response('index.html', {'page': page, ‘page_list’: all_pages, ‘last_news’:last_news})
def page_by_id(request, id):
page = get_object_or_404(Pages, pk=id)
first_letter = page.title
title = page.title
return render_to_response('page.html', {'page': page, ‘first_letter’:first_letter,'title':title})
def about(request):
page = Pages.objects.get(pk=1)
return render_to_response('about.html', {'page': page})
def watch(request):
watches = Watch.objects.order_by('alt').all()
page = Pages.objects.get(pk=4)
return render_to_response('watch.html', {'watches': watches, ‘page’: page})
def accessories(request):
accessor = Accessories.objects.order_by('alt').all()
return render_to_response('accessories.html', {'accessor': accessor})
def jewelry(request):
return render_to_response('jewelry.html')
def news(request):
idNews = request.GET.get('id')
page = Pages.objects.get(pk=7)
try:
news_items = News.objects.filter(id=idNews)
except Exception:
news_items = News.objects.all()
if not news_items:
news_items = News.objects.all()
if news_items.count() == 1:
return render_to_response('newi.html', {'news_item': news_items, ‘page’: page})
else:
return render_to_response('news.html', {'items': news_items, ‘page’: page})
def contact(request):
page = Pages.objects.get(pk=2)
return render_to_response('contact.html', {'page': page})
def calvinklein(request):
page = Pages.objects.get(pk=14)
return render_to_response('calvinklein.html', {'page': page})
def certina(request):
page = Pages.objects.get(pk=9)
return render_to_response('certina.html', {'page': page})
def rado(request):
page = Pages.objects.get(pk=10)
return render_to_response('rado.html', {'page': page})
def hamilton(request):
page = Pages.objects.get(pk=11)
return render_to_response('hamilton.html', {'page': page})
def tissot(request):
page = Pages.objects.get(pk=12)
return render_to_response('tissot.html', {'page': page})
def longines(request):
page = Pages.objects.get(pk=13)
return render_to_response('longines.html', {'page': page})
def longines(request):
page = Pages.objects.get(pk=13)
return render_to_response('longines.html', {'page': page})
def index(request):
page = Pages.objects.get(pk=3)
all_pages = Pages.objects.all()
last_news = News.objects.all().order_by('-id')
return render_to_response('index.html', {'page': page, ‘page_list’: all_pages, ‘last_news’:last_news})
Офлайн
Разобрался )
Теперь встал вопрос как вот здесь указать какие именно страницы выводить с помощью id
def longines(request):
page = Pages.objects.get(pk=13)
last_news = News.objects.all().order_by('-id')
return render_to_response('longines.html', {'page': page, ‘last_news’:last_news})
Офлайн
Не очень понял, что нужно, наверное вот это
ids=[1,2,3,4,5,6,7,8,10,22,34,56] news=Page.objects.filter(pk__in=ids)
Офлайн
Нужно что бы этот код говорил
def longines(request):
page = Pages.objects.get(pk=13)
last_news = News.objects.all().order_by('-id')
return render_to_response('longines.html', {'page': page, ‘last_news’:last_news})
def longines(request): page = Pages.objects.get(pk=13) ids=[1,2,3,4,5,6,7,8,10,22,34,56] news=Page.objects.filter(pk__in=ids)
Отредактировано aleksandr8i (Дек. 17, 2012 08:21:36)
Офлайн
Не, я ошибаюсь! Думаю по любому вы правильно написали код для вьюхи
def longines(request): page = Pages.objects.get(pk=13) ids=[1,2,3,4,5,6,7,8,10,22,34,56] news=Page.objects.filter(pk__in=ids)
{% block sub-content %}
{% for item in last_news %}
<div class=“content-box”>
<div class=“sq-rb”></div>
<a href=“/news/?id={{ item.id }}”>
{% thumbnail item.img “100x100” crop=“center” as img %}
<img class=“main” src=“{{ img.url }}” width=“{{ img.width }}” height=“{{ img.height }}” />
{% endthumbnail %}
</a>
<div class=“news-date”><span class=“red-letter”>{{ item.date_pub|date:“d” }}</span>{{ item.date_pub|date:“E” }}</div>
<p>{{ item.short_text|truncatewords:20 }} <a href=“/news/?id={{ item.id }}”>Подробнее</a> </p>
</div>
{% endfor %}
{% endblock %}
Отредактировано aleksandr8i (Дек. 17, 2012 21:40:00)
Офлайн
Аууууу!!! Кто нибудь!!!
Офлайн
Ну, кто нибудь!!!
Офлайн
Давай по порядку, сделай такое представление
def longines(request): ids=[1,2,3,4,5,6,7,8,10,22,34,56] news=Page.objects.filter(pk__in=ids) return render_to_response('longines.html', {"last_news":news})
<h1> {{ last_news }} </h1>
Офлайн
что сейчас не так, на что ругается? Выложите лог ошибок.
Офлайн
Предложенный вариант не подошел скрин страницы с ошибками в самом низу. Спасибо всем отозвавшимся на помощь!
Страница, где нужно вывести новости.
{% extends 'about.html' %} {% block title %}Longines{% endblock %} {% block keywords %}{{ page.keywords }}{% endblock %} {% block description %}{{ page.description }}{% endblock %} {% block active-longines %}class="menu-active"{% endblock %} {% block content-box %} <div class="content-box"> <div class="sq-lt"></div> <div class="sq-rt"></div> <div class="sq-lb"></div> <div class="sq-rb"></div> <h1><span class="red-letter"></span></h1> {{ page.content|safe }} </div> {% endblock %}
from django.shortcuts import get_object_or_404, render_to_response from geneva.main.models import Pages, News, Watch, Accessories def index(request): page = Pages.objects.get(pk=3) all_pages = Pages.objects.all() last_news = News.objects.all().order_by('-id')[:36] return render_to_response('index.html', {'page': page, 'page_list': all_pages, 'last_news':last_news}) def page_by_id(request, id): page = get_object_or_404(Pages, pk=id) first_letter = page.title[0] title = page.title[1:] return render_to_response('page.html', {'page': page, 'first_letter':first_letter,'title':title}) def about(request): page = Pages.objects.get(pk=1) all_pages = Pages.objects.all() last_news = News.objects.all().order_by('-id')[:4] return render_to_response('about.html', {'page': page, 'page_list': all_pages, 'last_news':last_news}) def watch(request): watches = Watch.objects.order_by('alt').all() page = Pages.objects.get(pk=4) all_pages = Pages.objects.all() last_news = News.objects.all().order_by('-id')[:4] return render_to_response('watch.html', {'watches': watches, 'page': page,'page_list': all_pages, 'last_news':last_news}) def accessories(request): accessor = Accessories.objects.order_by('alt').all() return render_to_response('accessories.html', {'accessor': accessor}) def jewelry(request): return render_to_response('jewelry.html') def news(request): idNews = request.GET.get('id') page = Pages.objects.get(pk=7) try: news_items = News.objects.filter(id=idNews) except Exception: news_items = News.objects.all() if not news_items: news_items = News.objects.all() if news_items.count() == 1: return render_to_response('newi.html', {'news_item': news_items[0], 'page': page}) else: return render_to_response('news.html', {'items': news_items, 'page': page}) def contact(request): page = Pages.objects.get(pk=2) return render_to_response('contact.html', {'page': page}) def calvinklein(request): page = Pages.objects.get(pk=14) last_news = News.objects.all().order_by('-id')[:4] return render_to_response('calvinklein.html', {'page': page, 'last_news':last_news}) def certina(request): page = Pages.objects.get(pk=9) last_news = News.objects.all().order_by('-id')[:4] return render_to_response('certina.html', {'page': page, 'last_news':last_news}) def rado(request): page = Pages.objects.get(pk=10) last_news = News.objects.all().order_by('-id')[:4] return render_to_response('rado.html', {'page': page, 'last_news':last_news}) def hamilton(request): page = Pages.objects.get(pk=11) last_news = News.objects.all().order_by('-id')[:4] return render_to_response('hamilton.html', {'page': page, 'last_news':last_news}) def tissot(request): page = Pages.objects.get(pk=12) last_news = News.objects.all().order_by('-id')[:4] return render_to_response('tissot.html', {'page': page, 'last_news':last_news}) def longines(request): page = Pages.objects.get(pk=13) last_news = News.objects.all().order_by('-id')[:4] return render_to_response('longines.html', {'page': page, 'last_news':last_news})
{% extends 'base.html' %} {% load thumbnail %} {% block title %}Швейцарские часы в Волгограде и Волгоградской области{% endblock %} {% block keywords %}{{ page.keywords }}{% endblock %} {% block description %}{{ page.description }}{% endblock %} {% block style %} <link rel="stylesheet" href="{{ STATIC_PREFIX }}css/about.css" type="text/css" /> <link rel="stylesheet" href="{{ STATIC_PREFIX }}css/newsabout.css" type="text/css" /> {% endblock %} {% block active-about %}class="menu-active"{% endblock %} {% block content-box %} <div class="content-box"> <div class="sq-lt"></div> <div class="sq-rt"></div> <div class="sq-lb"></div> <div class="sq-rb"></div> <h1><span class="red-letter">О</span> компании</h1> {{ page.content|safe }} </div> {% endblock %} {% block sub-content %} {% for item in last_news %} <div class="content-boxx"> <div class="sq-rb"></div> <a href="/news/?id={{ item.id }}"> {% thumbnail item.img "100x100" crop="center" as img %} <img class="main" src="{{ img.url }}" width="{{ img.width }}" height="{{ img.height }}" /> {% endthumbnail %} </a> <div class="news-date"><span class="red-letter">{{ item.date_pub|date:"d" }}</span>{{ item.date_pub|date:"E" }}</div> <p>{{ item.short_text|truncatewords:20 }} <a href="/news/?id={{ item.id }}">Подробнее</a> </p> </div> {% endfor %} {% endblock %}
Отредактировано aleksandr8i (Янв. 13, 2013 15:13:35)
Прикреплённый файлы: 12.JPG (96,1 KБ)
Офлайн