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