Skip to content

Commit

Permalink
Merge pull request #10 from liangliangyy/dev
Browse files Browse the repository at this point in the history
优化页面链接
  • Loading branch information
liangliangyy committed Apr 5, 2017
2 parents 3b9ba0e + 43e6386 commit 1a31513
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 3 deletions.
9 changes: 8 additions & 1 deletion blog/management/commands/create_testdata.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,19 @@ def handle(self, *args, **options):
category = Category.objects.get_or_create(name='category', parent_category=pcategory)[0]

category.save()

for i in range(1, 10):
article = Article.objects.get_or_create(category=category,
title='nice title ' + str(i),
body='nice content ' + str(i),
author=user
)
)[0]
tag = Tag()
tag.name = "nicetag" + str(i)
tag.save()
article.tags.add(tag)
article.save()

from DjangoBlog.utils import cache
cache.clear()
self.stdout.write(self.style.SUCCESS('created test datas \n'))
9 changes: 9 additions & 0 deletions blog/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,23 @@ class Meta:
get_latest_by = 'created_time'

def get_absolute_url(self):
return reverse('blog:detailbyid', kwargs={
'article_id': self.id,
'year': self.created_time.year,
'month': self.created_time.month,
'day': self.created_time.day
})

# todo remove
"""
return reverse('blog:detail', kwargs={
'article_id': self.id,
'year': self.created_time.year,
'month': self.created_time.month,
'day': self.created_time.day,
'slug': self.slug
})
"""

@cache_decorator(60 * 60 * 10)
def get_category_tree(self):
Expand Down
6 changes: 6 additions & 0 deletions blog/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,17 @@
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^page/(?P<page>\d+)$', views.IndexView.as_view(), name='index_page'),

# 为了兼容之前的错误url,后续去掉
# todo remove
url(r'^article/(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)/(?P<article_id>\d+)-(?P<slug>\S+).html$',
# cache_page(60 * 60 * 10, key_prefix="blogdetail")(views.ArticleDetailView.as_view()),
views.ArticleDetailView.as_view(),
name='detail'),

url(r'^article/(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)/(?P<article_id>\d+).html$',
views.ArticleDetailView.as_view(),
name='detailbyid'),

url(r'^blogpage/(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)/(?P<page_id>\d+)-(?P<slug>[\w-]+).html$',
views.ArticleDetailView.as_view(),
name='pagedetail'),
Expand Down
11 changes: 10 additions & 1 deletion blog/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
from django.utils.decorators import classonlymethod
from django.utils.decorators import method_decorator
from django.shortcuts import get_object_or_404
from django.http import HttpResponseRedirect


class ArticleListView(ListView):
Expand Down Expand Up @@ -101,10 +102,18 @@ def get_object(self):
obj = super(ArticleDetailView, self).get_object()

obj.viewed()
# obj.body = markdown2.markdown(obj.body)
self.object = obj
return obj

def dispatch(self, request, *args, **kwargs):
# todo remove
slug = self.kwargs['slug'] if 'slug' in self.kwargs else ''
if slug:
obj = super(ArticleDetailView, self).get_object()
return HttpResponseRedirect(obj.get_absolute_url())
else:
return super(ArticleDetailView, self).dispatch(request, *args, **kwargs)

def get_context_data(self, **kwargs):
articleid = int(self.kwargs[self.pk_url_kwarg])

Expand Down
1 change: 1 addition & 0 deletions oauth/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ class OAuthUser(models.Model):
picture = models.CharField(max_length=350, blank=True, null=True)
type = models.CharField(blank=False, null=False, max_length=50)
email = models.CharField(max_length=50, null=True, blank=True)
token = models.CharField(max_length=50, null=True, blank=True)

def __str__(self):
return self.nikename
Expand Down
3 changes: 3 additions & 0 deletions oauth/oauthmanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ def get_oauth_userinfo(self):
user.nikename = datas['screen_name']
user.openid = datas['id']
user.type = 'weibo'
user.token = self.access_token
if 'email' in datas and datas['email']:
user.email = datas['email']
return user
Expand Down Expand Up @@ -187,6 +188,7 @@ def get_oauth_userinfo(self):
user.picture = datas['picture']
user.nikename = datas['name']
user.openid = datas['sub']
user.token = self.access_token
user.type = 'google'
if datas['email']:
user.email = datas['email']
Expand Down Expand Up @@ -252,6 +254,7 @@ def get_oauth_userinfo(self):
user.nikename = datas['name']
user.openid = datas['id']
user.type = 'github'
user.token = self.access_token
if datas['email']:
user.email = datas['email']

Expand Down
8 changes: 7 additions & 1 deletion templates/comments/tags/comment_item.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,13 @@
srcset="{{ comment_item.author.email|gravatar_url:150 }}"
class="avatar avatar-96 photo" height="96" width="96">
<cite class="fn">
<a rel="nofollow" href="{{ comment_item.author.get_absolute_url }}" rel="external nofollow"
<a rel="nofollow"
{% if comment_item.author.is_superuser %}
href="{{ comment_item.author.get_absolute_url }}"
{% else %}
href="#"
{% endif %}
rel="external nofollow"
class="url">{{ comment_item.author.username }}
</a>
</cite>
Expand Down

0 comments on commit 1a31513

Please sign in to comment.