为分类目录等名称添加惟一

sh_branch
车亮亮 9 years ago
parent f2a7f59e12
commit 99284605ee

@ -18,8 +18,9 @@ import requests
from django.conf import settings
class sipder_notify():
def baidu_notify(self, urls):
class spider_notify():
@staticmethod
def baidu_notify(urls):
try:
data = '\n'.join(urls)
result = requests.post(settings.BAIDU_NOTIFY_URL, data=data)
@ -27,12 +28,15 @@ class sipder_notify():
except Exception as e:
print(e)
def __google_notify(self):
@staticmethod
def __google_notify():
try:
ping_google('/sitemap.xml')
except Exception as e:
print(e)
@staticmethod
def notify(self, url):
self.baidu_notify(url)
self.__google_notify()
spider_notify.baidu_notify(url)
spider_notify.__google_notify()

@ -20,6 +20,7 @@ from DjangoBlog.sitemap import StaticViewSitemap, ArticleSiteMap, CategorySiteMa
from DjangoBlog.feeds import DjangoBlogFeed
from django.views.decorators.cache import cache_page
from django.conf import settings
from django.conf.urls.static import static
sitemaps = {
@ -31,15 +32,15 @@ sitemaps = {
}
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'', include('blog.urls', namespace='blog', app_name='blog')),
url(r'^admin/', admin.site.urls),
url(r'', include('blog.urls', namespace='blog', app_name='blog')),
url(r'', include('comments.urls', namespace='comment', app_name='comments')),
url(r'', include('accounts.urls', namespace='account', app_name='accounts')),
url(r'', include('oauth.urls', namespace='oauth', app_name='oauth')),
url(r'^sitemap\.xml$', cache_page(60 * 60 * 10)(sitemap), {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'),
url(r'^feed/$', cache_page(60 * 60 * 10)(DjangoBlogFeed())),
url(r'', include('comments.urls', namespace='comment', app_name='comments')),
url(r'', include('accounts.urls', namespace='account', app_name='accounts')),
url(r'', include('oauth.urls', namespace='oauth', app_name='oauth')),
url(r'^sitemap\.xml$', cache_page(60 * 60 * 10)(sitemap), {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'),
url(r'^feed/$', cache_page(60 * 60 * 10)(DjangoBlogFeed())),
url(r'^search', include('haystack.urls'), name='search'),
]
url(r'^search', include('haystack.urls'), name='search'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

@ -21,7 +21,6 @@ from DjangoBlog.utils import logger
def seo_processor(requests):
key = 'seo_processor'
value = cache.get(key)
if value:
logger.info('get processor cache.')
@ -34,7 +33,7 @@ def seo_processor(requests):
'SITE_SEO_DESCRIPTION': settings.SITE_SEO_DESCRIPTION,
'SITE_DESCRIPTION': settings.SITE_DESCRIPTION,
'SITE_KEYWORDS': settings.SITE_SEO_KEYWORDS,
'SITE_BASE_URL': 'https://' + requests.get_host() + '/',
'SITE_BASE_URL': requests.scheme + '://' + requests.get_host() + '/',
'ARTICLE_SUB_LENGTH': settings.ARTICLE_SUB_LENGTH,
'nav_category_list': Category.objects.all(),
'nav_pages': Article.objects.filter(type='p', status='p')

@ -44,6 +44,8 @@ class OnlineMiddleware(object):
cache.set("online_ips", online_ips)
def process_response(self, request, response):
cast_time = time.time() - self.start_time
cast_time = 0.921
if self.__dict__ and 'start_time' in self.__dict__:
cast_time = time.time() - self.start_time
response.content = response.content.replace(b'<!!LOAD_TIMES!!>', str.encode(str(cast_time)[:5]))
return response

@ -1,13 +1,13 @@
from django.db import models
from django.core.urlresolvers import reverse
from django.conf import settings
# from django.template.defaultfilters import slugify
from uuslug import slugify
from DjangoBlog.spider_notify import sipder_notify
from DjangoBlog.spider_notify import spider_notify
from django.contrib.sites.models import Site
from DjangoBlog.utils import cache_decorator
from DjangoBlog.utils import cache_decorator, logger
from django.utils.functional import cached_property
class BaseModel(models.Model):
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
@ -15,10 +15,10 @@ class BaseModel(models.Model):
if 'update_fields' in kwargs and len(kwargs['update_fields']) == 1 and kwargs['update_fields'][0] == 'views':
return
try:
notify = sipder_notify()
notify_url = self.get_full_url()
notify.baidu_notify(notify_url)
spider_notify.baidu_notify(notify_url)
except Exception as ex:
logger.error("notify sipder", ex)
print(ex)
def get_full_url(self):
@ -44,7 +44,7 @@ class Article(BaseModel):
('a', '文章'),
('p', '页面'),
)
title = models.CharField('标题', max_length=200)
title = models.CharField('标题', max_length=200, unique=True)
body = models.TextField('正文')
created_time = models.DateTimeField('创建时间', auto_now_add=True)
last_mod_time = models.DateTimeField('修改时间', auto_now=True)
@ -196,7 +196,7 @@ class BlogPage(models.Model):
class Category(BaseModel):
"""文章分类"""
name = models.CharField('分类名', max_length=30)
name = models.CharField('分类名', max_length=30, unique=True)
created_time = models.DateTimeField('创建时间', auto_now_add=True)
last_mod_time = models.DateTimeField('修改时间', auto_now=True)
parent_category = models.ForeignKey('self', verbose_name="父级分类", blank=True, null=True)
@ -215,7 +215,7 @@ class Category(BaseModel):
class Tag(BaseModel):
"""文章标签"""
name = models.CharField('标签名', max_length=30)
name = models.CharField('标签名', max_length=30, unique=True)
created_time = models.DateTimeField('创建时间', auto_now_add=True)
last_mod_time = models.DateTimeField('修改时间', auto_now=True)
@ -237,7 +237,7 @@ class Tag(BaseModel):
class Links(models.Model):
"""友情链接"""
name = models.CharField('链接名称', max_length=30)
name = models.CharField('链接名称', max_length=30, unique=True)
link = models.URLField('链接地址')
sequence = models.IntegerField('排序', unique=True)
created_time = models.DateTimeField('创建时间', auto_now_add=True)

@ -112,6 +112,7 @@ def load_sidebar(user):
加载侧边栏
:return:
"""
logger.info('load sidebar')
recent_articles = Article.objects.filter(status='p')[:settings.SIDEBAR_ARTICLE_COUNT]
sidebar_categorys = Category.objects.all()
most_read_articles = Article.objects.filter(status='p').order_by('-views')[:settings.SIDEBAR_ARTICLE_COUNT]

Loading…
Cancel
Save