Skip to content

Commit 0d01e58

Browse files
committed
完善oauth功能,删除注释掉的无用代码
1 parent dcf7dd3 commit 0d01e58

File tree

12 files changed

+149
-257
lines changed

12 files changed

+149
-257
lines changed

DjangoBlog/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/
2020

2121
# SECURITY WARNING: keep the secret key used in production secret!
22-
SECRET_KEY = '&3g0bdza#c%dm1lf%5gi&0-*53p3t0m*hmcvo29cn^$ji7je(c'
22+
SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY')
2323

2424
# SECURITY WARNING: don't run with debug turned on in production!
2525
DEBUG = True

DjangoBlog/utils.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@
2323
from django.core.mail import EmailMultiAlternatives
2424

2525
logger = logging.getLogger('djangoblog')
26-
from importlib import import_module
27-
from django.conf import settings
28-
29-
SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
3026

3127

3228
def get_max_articleid_commentid():

blog/admin.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,28 @@ class Meta:
1616

1717
class ArticlelAdmin(admin.ModelAdmin):
1818
form = ArticleForm
19+
list_display = ('id', 'title', 'author', 'created_time', 'views', 'status', 'type')
20+
list_display_links = ('id', 'title')
21+
list_filter = ('author', 'status', 'type', 'category', 'tags')
22+
filter_horizontal = ('tags',)
23+
exclude = ('slug', 'created_time')
1924

2025
def save_model(self, request, obj, form, change):
2126
super(ArticlelAdmin, self).save_model(request, obj, form, change)
2227
from DjangoBlog.utils import cache
2328
cache.clear()
2429

2530

31+
class TagAdmin(admin.ModelAdmin):
32+
exclude = ('slug',)
33+
34+
35+
class CategoryAdmin(admin.ModelAdmin):
36+
exclude = ('slug',)
37+
38+
2639
admin.site.register(Article, ArticlelAdmin)
2740
# admin.site.register(BlogPage, ArticlelAdmin)
28-
admin.site.register(Category)
29-
admin.site.register(Tag)
41+
admin.site.register(Category, CategoryAdmin)
42+
admin.site.register(Tag, TagAdmin)
3043
admin.site.register(Links)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/usr/bin/env python
2+
# encoding: utf-8
3+
4+
5+
"""
6+
@version: ??
7+
@author: liangliangyy
8+
@license: MIT Licence
9+
@contact: liangliangyy@gmail.com
10+
@site: https://www.lylinux.org/
11+
@software: PyCharm
12+
@file: create_testdata.py
13+
@time: 2017/3/11 上午1:58
14+
"""
15+
16+
from django.core.management.base import BaseCommand
17+
from blog.models import Article, Tag, Category
18+
from django.contrib.auth import get_user_model
19+
from django.core.exceptions import ObjectDoesNotExist
20+
import datetime
21+
22+
23+
class Command(BaseCommand):
24+
help = 'create test datas'
25+
26+
def handle(self, *args, **options):
27+
user = \
28+
get_user_model().objects.get_or_create(email='test@test.com', username='testuser',
29+
password='test!q@w#eTYU')[0]
30+
31+
pcategory = Category.objects.get_or_create(name='pcategory', parent_category=None)[0]
32+
33+
category = Category.objects.get_or_create(name='category', parent_category=pcategory)[0]
34+
35+
category.save()
36+
for i in range(1, 10):
37+
article = Article.objects.get_or_create(category=category,
38+
title='nice title ' + str(i),
39+
body='nice content ' + str(i),
40+
author=user
41+
)
42+
from DjangoBlog.utils import cache
43+
cache.clear()
44+
self.stdout.write(self.style.SUCCESS('created test datas \n'))

blog/models.py

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -141,70 +141,6 @@ def prev_article(self):
141141
return Article.objects.filter(id__lt=self.id, status='p').first()
142142

143143

144-
'''
145-
class BlogPage(models.Model):
146-
"""文章"""
147-
STATUS_CHOICES = (
148-
('d', '草稿'),
149-
('p', '发表'),
150-
)
151-
COMMENT_STATUS = (
152-
('o', '打开'),
153-
('c', '关闭'),
154-
)
155-
title = models.CharField('标题', max_length=200)
156-
body = models.TextField('正文')
157-
created_time = models.DateTimeField('创建时间', auto_now_add=True)
158-
last_mod_time = models.DateTimeField('修改时间', auto_now=True)
159-
pub_time = models.DateTimeField('发布时间', blank=True, null=True,
160-
help_text="不指定发布时间则视为草稿,可以指定未来时间,到时将自动发布。")
161-
status = models.CharField('文章状态', max_length=1, choices=STATUS_CHOICES, default='o')
162-
comment_status = models.CharField('评论状态', max_length=1, choices=COMMENT_STATUS)
163-
# summary = models.CharField('摘要', max_length=200, blank=True, help_text="可选,若为空将摘取正文的前300个字符。")
164-
views = models.PositiveIntegerField('浏览量', default=0)
165-
166-
author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='作者', on_delete=models.CASCADE)
167-
slug = models.SlugField(default='no-slug', max_length=60, blank=True)
168-
169-
class Meta:
170-
ordering = ['-pub_time']
171-
verbose_name = "页面"
172-
verbose_name_plural = verbose_name
173-
174-
def __str__(self):
175-
return self.title
176-
177-
def get_absolute_url(self):
178-
return reverse('blog:pagedetail', kwargs=
179-
{
180-
'page_id': self.id,
181-
'year': self.created_time.year,
182-
'month': self.created_time.month,
183-
'day': self.created_time.day,
184-
'slug': self.slug
185-
})
186-
187-
def save(self, *args, **kwargs):
188-
# self.summary = self.summary or self.body[:settings.ARTICLE_SUB_LENGTH]
189-
if not self.slug or self.slug == 'no-slug' or not self.id:
190-
# Only set the slug when the object is created.
191-
self.slug = slugify(self.title)
192-
193-
super().save(*args, **kwargs)
194-
195-
def viewed(self):
196-
self.views += 1
197-
self.save(update_fields=['views'])
198-
199-
def comment_list(self):
200-
comments = self.comment_set.all()
201-
parent_comments = comments.filter(parent_comment=None)
202-
203-
def get_category_tree(self):
204-
return []
205-
'''
206-
207-
208144
class Category(BaseModel):
209145
"""文章分类"""
210146
name = models.CharField('分类名', max_length=30, unique=True)

blog/views.py

Lines changed: 12 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -29,33 +29,6 @@
2929
from django.utils.decorators import method_decorator
3030
from django.shortcuts import get_object_or_404
3131

32-
"""
33-
class SeoProcessor():
34-
__metaclass__ = ABCMeta
35-
36-
@abstractmethod
37-
def get_title(self):
38-
pass
39-
40-
@abstractmethod
41-
def get_keywords(self):
42-
pass
43-
44-
@abstractmethod
45-
def get_description(self):
46-
pass
47-
"""
48-
49-
"""
50-
class CachedTemplateView(ListView):
51-
@classonlymethod
52-
def as_view(cls, **initkwargs):
53-
# print(request)
54-
55-
view = super(CachedTemplateView, cls).as_view(**initkwargs)
56-
return cache_page(60 * 60 * 10)(view)
57-
"""
58-
5932

6033
class ArticleListView(ListView):
6134
# template_name属性用于指定使用哪个模板进行渲染
@@ -117,24 +90,6 @@ def get_queryset_cache_key(self):
11790
cache_key = 'index_{page}'.format(page=self.page_number)
11891
return cache_key
11992

120-
'''
121-
def get_queryset(self):
122-
# return self.get_queryset_data()
123-
cache_key = 'index_{page}'.format(page=self.page_number)
124-
return self.get_queryset_from_cache(cache_key=cache_key)
125-
"""
126-
value = cache.get(cache_key)
127-
if value:
128-
logger.info('get view cache.key:{key}'.format(key=cache_key))
129-
return value
130-
else:
131-
article_list = Article.objects.filter(type='a', status='p')
132-
cache.set(cache_key, article_list)
133-
logger.info('set view cache.key:{key}'.format(key=cache_key))
134-
return article_list
135-
"""
136-
'''
137-
13893

13994
class ArticleDetailView(DetailView):
14095
template_name = 'blog/article_detail.html'
@@ -175,37 +130,6 @@ def get_context_data(self, **kwargs):
175130

176131
return super(ArticleDetailView, self).get_context_data(**kwargs)
177132

178-
"""
179-
@classonlymethod
180-
def as_view(cls, **initkwargs):
181-
self = cls(**initkwargs)
182-
keyperfix = "blogdetail"
183-
return cache_page(60 * 60 * 10, key_prefix=keyperfix)(super(ArticleDetailView, cls).as_view(**initkwargs))
184-
"""
185-
186-
187-
"""
188-
def post(self, request, *args, **kwargs):
189-
form = CommentForm(request.POST)
190-
191-
if form.is_valid():
192-
data = form.cleaned_data
193-
pass
194-
"""
195-
196-
'''
197-
class PageDetailView(ArticleDetailView):
198-
model = BlogPage
199-
pk_url_kwarg = 'page_id'
200-
201-
def get_object(self):
202-
obj = super(PageDetailView, self).get_object()
203-
print(obj.title)
204-
obj.viewed()
205-
# obj.body = markdown2.markdown(obj.body)
206-
return obj
207-
'''
208-
209133

210134
class CategoryDetailView(ArticleListView):
211135
page_type = "分类目录归档"
@@ -226,35 +150,8 @@ def get_queryset_cache_key(self):
226150
cache_key = 'category_list_{categoryname}_{page}'.format(categoryname=categoryname, page=self.page_number)
227151
return cache_key
228152

229-
'''
230-
def get_queryset(self):
231-
slug = self.kwargs['category_name']
232-
# category = Category.objects.get(slug=slug)
233-
category = get_object_or_404(Category, slug=slug)
234-
categoryname = category.name
235-
self.categoryname = categoryname
236-
try:
237-
categoryname = categoryname.split('/')[-1]
238-
except:
239-
pass
240-
241-
cache_key = 'category_list_{categoryname}_{page}'.format(categoryname=categoryname, page=self.page_number)
242-
243-
value = cache.get(cache_key)
244-
if value:
245-
logger.info('get view cache.key:{key}'.format(key=cache_key))
246-
return value
247-
else:
248-
article_list = Article.objects.filter(category__name=categoryname, status='p')
249-
cache.set(cache_key, article_list)
250-
logger.info('set view cache.key:{key}'.format(key=cache_key))
251-
return article_list
252-
'''
253-
254153
def get_context_data(self, **kwargs):
255-
# slug = self.kwargs['category_name']
256-
# category = Category.objects.get(slug=slug)
257-
# categoryname = category.name
154+
258155
categoryname = self.categoryname
259156
try:
260157
categoryname = categoryname.split('/')[-1]
@@ -360,25 +257,18 @@ def refresh_memcache(request):
360257

361258

362259
"""
363-
class BlogSearchView(SearchView):
364-
form_class = BlogSearchForm
365-
template_name = 'blog/article_detail.html'
366-
model = Article
367-
# template_name属性用于指定使用哪个模板进行渲染
368-
template_name = 'blog/article_index.html'
260+
class SeoProcessor():
261+
__metaclass__ = ABCMeta
369262
370-
# context_object_name属性用于给上下文变量取名(在模板中使用该名字)
371-
context_object_name = 'article_list'
263+
@abstractmethod
264+
def get_title(self):
265+
pass
372266
373-
def get_queryset(self):
374-
queryset = super(BlogSearchView, self).get_queryset()
375-
# further filter queryset based on some set of criteria
376-
# return queryset.filter(pub_date__gte=date(2015, 1, 1))
377-
return queryset
267+
@abstractmethod
268+
def get_keywords(self):
269+
pass
378270
379-
def get_context_data(self, **kwargs):
380-
tag_name = 'search'
381-
kwargs['page_type'] = 'search'
382-
kwargs['tag_name'] = tag_name
383-
return super(BlogSearchView, self).get_context_data(**kwargs)
271+
@abstractmethod
272+
def get_description(self):
273+
pass
384274
"""

comments/models.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
# Create your models here.
1212

1313
class Comment(models.Model):
14-
# url = models.URLField('地址', blank=True, null=True)
15-
# email = models.EmailField('电子邮件', blank=True, null=True)
16-
1714
body = models.TextField('正文', max_length=300)
1815
created_time = models.DateTimeField('创建时间', auto_now_add=True)
1916
last_mod_time = models.DateTimeField('修改时间', auto_now=True)

comments/views.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,7 @@
99
from django.contrib.auth import get_user_model
1010
from django import forms
1111

12-
"""
13-
from django.core.urlresolvers import reverse
14-
from django.contrib import auth
15-
from django.utils.decorators import method_decorator
16-
from django.views.decorators.cache import never_cache
17-
from django.views.decorators.csrf import csrf_protect
18-
from django.contrib.auth.decorators import login_required
19-
"""
2012

21-
22-
# @method_decorator(login_required,name='dispatch')
2313
class CommentPostView(FormView):
2414
form_class = CommentForm
2515
template_name = 'blog/article_detail.html'

0 commit comments

Comments
 (0)