Мне нужно вывести новости на обычной странице, как на главной, только что бы в коде вывода новостей я мог указать какие именно выводить статьи с помощью 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})
Сохраняю, но ничего не получается, ошибка 500.