Changed page to GET and added main attachment view
This commit is contained in:
parent
bb8ebf13b6
commit
257c6a539c
|
@ -1,17 +1,17 @@
|
|||
from django.conf.urls import url
|
||||
|
||||
from .views import (
|
||||
ListView,
|
||||
ListView, AttachmentView,
|
||||
EntryView, EntryAttachmentView, EntryLiveEditView,
|
||||
SearchView, RSSView)
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
# Post list with page
|
||||
# Global attachment URL
|
||||
url(
|
||||
r'^page/(?P<page_number>\d+)/$',
|
||||
ListView.as_view(),
|
||||
name='list'
|
||||
r'^attachment/(?P<attachment_id>\d+)$',
|
||||
AttachmentView.as_view(),
|
||||
name='attachment'
|
||||
),
|
||||
# Post list
|
||||
url(
|
||||
|
@ -35,7 +35,7 @@ urlpatterns = [
|
|||
url(
|
||||
r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[\w\-]+)/attachment/(?P<filename>.*)$',
|
||||
EntryAttachmentView.as_view(),
|
||||
name='item'
|
||||
name='item-attachment'
|
||||
),
|
||||
# RSS
|
||||
url(
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from datetime import datetime
|
||||
|
||||
from django.core.paginator import Paginator
|
||||
from django.utils import translation
|
||||
from django.conf import settings
|
||||
from django.core.paginator import Paginator
|
||||
from django.db.models import Q
|
||||
|
||||
|
@ -20,8 +18,8 @@ def get_posts(query=None, limit=None):
|
|||
)
|
||||
if query and len(query) > 0:
|
||||
items = items.filter(
|
||||
Q(title__icontains=query) | \
|
||||
Q(content__icontains=query) | \
|
||||
Q(title__icontains=query) |
|
||||
Q(content__icontains=query) |
|
||||
Q(tags__name__iexact=query)
|
||||
).distinct()
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ from django.utils.decorators import method_decorator
|
|||
from django.views.decorators.csrf import csrf_exempt
|
||||
|
||||
import fmartingrcom.apps.blog.utils as blog_utils
|
||||
from .models import Entry
|
||||
from .models import Entry, Attachment
|
||||
from fmartingrcom.apps._core.views import View
|
||||
from fmartingrcom.apps.config.models import SiteConfiguration
|
||||
|
||||
|
@ -16,13 +16,21 @@ from fmartingrcom.apps.config.models import SiteConfiguration
|
|||
config = SiteConfiguration.objects.get()
|
||||
|
||||
|
||||
class AttachmentView(View):
|
||||
def get(self, request, attachment_id):
|
||||
try:
|
||||
attachment = Attachment.objects.get(pk=int(attachment_id))
|
||||
return HttpResponseRedirect(attachment.url)
|
||||
except Attachment.DoesNotExist:
|
||||
raise Http404
|
||||
|
||||
|
||||
class ListView(View):
|
||||
section = 'blog'
|
||||
template = 'blog/list.jinja'
|
||||
|
||||
def get(self, request, page_number=1):
|
||||
if 'page' in request.GET:
|
||||
page_number = int(request.GET['page'])
|
||||
def get(self, request):
|
||||
page_number = int(request.GET.get('page', 1))
|
||||
|
||||
paginator, page = blog_utils.get_paginator(request, page_number)
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
{% block submenu %}
|
||||
{% if item.status() == 'Published' %}
|
||||
{% if page.number > 1 %}
|
||||
<a href="{{ url('blog:list', page.number) }}" class="button prev-page pull-left gap">
|
||||
<a href="{{ url('blog:list') }}?page={{ page.number }}" class="button prev-page pull-left gap">
|
||||
{% else %}
|
||||
<a href="{{ url('blog:list') }}" class="button prev-page pull-left gap">
|
||||
{% endif %}
|
||||
|
|
|
@ -65,17 +65,17 @@
|
|||
|
||||
<div class="pagination">
|
||||
{% if page.has_next() %}
|
||||
<a href="{{ url('blog:list', page.next_page_number()) }}" class="button prev-page pull-right gap half">
|
||||
<a href="{{ url('blog:list') }}?page={{ page.next_page_number() }}" class="button prev-page pull-right gap half">
|
||||
Older <i class="fa fa-angle-double-right"></i>
|
||||
</a>
|
||||
<a href="#">
|
||||
<a href="#">o
|
||||
{% endif %}
|
||||
|
||||
{% if page.has_previous() %}
|
||||
{% if page.previous_page_number() == 1 %}
|
||||
<a href="{{ url('blog:list') }}" class="button prev-page pull-left gap half">
|
||||
{% else %}
|
||||
<a href="{{ url('blog:list', page.previous_page_number()) }}" class="button prev-page pull-left gap half">
|
||||
<a href="{{ url('blog:list') }}?page={{ page.previous_page_number() }}" class="button prev-page pull-left gap half">
|
||||
{% endif %}
|
||||
<i class="fa fa-angle-double-left"></i> Newer
|
||||
</a>
|
||||
|
@ -88,7 +88,7 @@
|
|||
<ul>
|
||||
{% for p in range(1, paginator.num_pages+1) %}
|
||||
<li {% if p == page_number %}class="active"{% endif %}>
|
||||
<a href="{{ url('blog:list', p) }}">{{ p }}</a>
|
||||
<a href="{{ url('blog:list') }}">?page={{ p }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
|
Loading…
Reference in New Issue