修改部分文件名及目录结构,去掉wordpress相关部分

车亮亮 9 years ago
parent 13c937bb95
commit 2be5243dd8

@ -156,7 +156,7 @@ SITE_NAME = 'Django Blog'
SITE_URL = 'http://blog.lylinux.org'
SITE_DESCRIPTION = '大巧无工,重剑无锋.'
SITE_SEO_DESCRIPTION = '小站主要用来分享和记录学习经验,教程,记录个人生活的点滴以及一些随笔.欢迎大家访问小站'
SITE_SEO_KEYWORDS = 'linux,apache,mysql,服务器,ubuntu,shell,web,csharp,.net,asp,mac,swift'
ARTICLE_SUB_LENGTH = 300
# bootstrap颜色样式

@ -21,6 +21,7 @@ def seo_processor(requests):
'SITE_NAME': settings.SITE_NAME,
'SITE_SEO_DESCRIPTION': settings.SITE_SEO_DESCRIPTION,
'SITE_DESCRIPTION': settings.SITE_DESCRIPTION,
'SITE_KEYWORDS': settings.SITE_SEO_KEYWORDS,
'SITE_BASE_URL': 'http://' + requests.get_host() + '/',
'ARTICLE_SUB_LENGTH': settings.ARTICLE_SUB_LENGTH,
'nav_category_list': Category.objects.all(),

@ -35,7 +35,6 @@ class Article(models.Model):
tags = models.ManyToManyField('Tag', verbose_name='标签集合', blank=True)
slug = models.SlugField(default='no-slug', max_length=60, blank=True)
wordpress_id = models.IntegerField()
def __str__(self):
return self.title
@ -158,7 +157,7 @@ class Category(models.Model):
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)
wordpress_category_id = models.IntegerField()
class Meta:
ordering = ['name']
@ -177,7 +176,7 @@ class Tag(models.Model):
name = models.CharField('标签名', max_length=30)
created_time = models.DateTimeField('创建时间', auto_now_add=True)
last_mod_time = models.DateTimeField('修改时间', auto_now=True)
wordpress_tag_id = models.IntegerField()
def __str__(self):
return self.name

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -92,7 +92,7 @@ def load_breadcrumb(article):
}
@register.inclusion_tag('blog/tags/articletaglist.html')
@register.inclusion_tag('blog/tags/article_tag_list.html')
def load_articletags(article):
"""
文章标签
@ -168,6 +168,8 @@ def load_article_detail(article, isindex, user):
:param isindex:是否列表页若是列表页只显示摘要
:return:
"""
print()
return {
'article': article,
'isindex': isindex,

@ -21,9 +21,7 @@ from haystack.query import SearchQuerySet
from haystack.views import SearchView
urlpatterns = [
# url(r'^$', cache_page(60 * 15)(views.IndexView.as_view()), name='index'),
url(r'^$', views.IndexView.as_view(), name='index'),
# url(r'^article/(?P<article_id>\d+)$', views.ArticleDetailView.as_view(), name='detail'),
url(r'^page/(?P<page>\d+)$', views.IndexView.as_view(), name='index_page'),
url(r'^article/(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)/(?P<article_id>\d+)-(?P<slug>\S+).html$',
views.ArticleDetailView.as_view(),
@ -34,8 +32,4 @@ urlpatterns = [
url(r'^category/(?P<category_name>\S+).html$', views.CategoryDetailView.as_view(), name='category_detail'),
url(r'^author/(?P<author_name>\w+).html$', views.AuthorDetailView.as_view(), name='author_detail'),
url(r'^tag/(?P<tag_name>.+).html$', views.TagDetailView.as_view(), name='tag_detail'),
url(r'(?P<wordpress_slug>\w+).html$', views.handle_wordpress_post),
url(r'^test$', views.test),
# url(r'^search/?$', views.BlogSearchView.as_view(), name='search_view'),
]

@ -12,7 +12,6 @@ from django.core.exceptions import ObjectDoesNotExist
from comments.forms import CommentForm
from django.conf import settings
from django import forms
from blog.wordpress_helper import wordpress_helper
from django import http
from django.http import HttpResponse
from abc import ABCMeta, abstractmethod
@ -39,7 +38,7 @@ class SeoProcessor():
class ArticleListView(ListView):
# template_name属性用于指定使用哪个模板进行渲染
template_name = 'blog/index.html'
template_name = 'blog/article_index.html'
# context_object_name属性用于给上下文变量取名在模板中使用该名字
context_object_name = 'article_list'
@ -62,7 +61,7 @@ class IndexView(ArticleListView):
class ArticleDetailView(DetailView):
template_name = 'blog/articledetail.html'
template_name = 'blog/article_detail.html'
model = Article
pk_url_kwarg = 'article_id'
context_object_name = "article"
@ -131,7 +130,7 @@ class PageDetailView(ArticleDetailView):
class CategoryDetailView(ArticleListView):
# template_name = 'index.html'
# template_name = 'article_index.html'
# context_object_name = 'article_list'
# pk_url_kwarg = 'article_name'
@ -201,13 +200,14 @@ class TagDetailView(ArticleListView):
return super(TagDetailView, self).get_context_data(**kwargs)
"""
class BlogSearchView(SearchView):
form_class = BlogSearchForm
template_name = 'blog/articledetail.html'
template_name = 'blog/article_detail.html'
model = Article
# template_name属性用于指定使用哪个模板进行渲染
template_name = 'blog/index.html'
template_name = 'blog/article_index.html'
# context_object_name属性用于给上下文变量取名在模板中使用该名字
context_object_name = 'article_list'
@ -223,33 +223,4 @@ class BlogSearchView(SearchView):
kwargs['page_type'] = 'search'
kwargs['tag_name'] = tag_name
return super(BlogSearchView, self).get_context_data(**kwargs)
"""
def test(requests):
post = Article.objects.all()
import re
for p in post:
p.body = re.sub('\[code lang="\w+"\]', "'''", p.body)
p.body = re.sub('\[/code\]', "'''", p.body)
p.save()
def handle_wordpress_post(request, wordpress_slug):
"""
wordpress文章301永久重定向
:param request:
:param wordpress_slug:
:return:
"""
helper = wordpress_helper()
postid = helper.get_postid_by_postname(wordpress_slug)
print(postid)
if postid != 0:
try:
article = Article.objects.get(wordpress_id=postid)
url = article.get_absolute_url()
return http.HttpResponsePermanentRedirect(url)
except ObjectDoesNotExist:
return HttpResponse(status=404)
return HttpResponse(status=404)
"""

@ -1,44 +0,0 @@
#!/usr/bin/env python
# encoding: utf-8
"""
@version: ??
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@software: PyCharm
@file: wordpress_helper.py
@time: 2016/12/10 上午9:43
"""
import pymysql
import urllib
from urllib.parse import quote_plus, quote
import os
class wordpress_helper():
def __init__(self):
USER = os.environ.get('DJANGO_MYSQL_USER')
PASSWORD = os.environ.get('DJANGO_MYSQL_PASSWORD')
HOST = os.environ.get('DJANGO_MYSQL_HOST')
self.db = pymysql.connect(HOST, USER, PASSWORD, 'djangoblog')
def get_postid_by_postname(self, postname):
sql = "SELECT id from wordpress.wp_posts WHERE post_name='%s' " % quote(postname)
cursor = self.db.cursor()
cursor.execute(sql)
try:
result = cursor.fetchone()
return result[0]
except:
return 0
if __name__ == '__main__':
name = '使用nginxgunicornvirtualenvsupervisor来部署django项目'
helper = wordpress_helper()
post_id = helper.get_postid_by_postname(name)
print(post_id)

@ -12,7 +12,7 @@ from django.contrib.auth import get_user_model
class CommentPostView(FormView):
form_class = CommentForm
template_name = 'blog/articledetail.html'
template_name = 'blog/article_detail.html'
def get(self, request, *args, **kwargs):
article_id = self.kwargs['article_id']

@ -1,4 +1,4 @@
{% extends 'accountbase.html' %}
{% extends 'share_layout/base_account.html' %}
{% load static %}
{% block content %}
<div class="container">

@ -1,4 +1,4 @@
{% extends 'accountbase.html' %}
{% extends 'share_layout/base_account.html' %}
{% load static %}
{% block content %}
<div class="container">

@ -1,4 +1,4 @@
{% extends 'base.html' %}
{% extends 'share_layout/base.html' %}
{% load blog_tags %}
{% block header %}

@ -1,9 +1,9 @@
{% extends 'base.html' %}
{% extends 'share_layout/base.html' %}
{% load blog_tags %}
{% block header %}
<title>{{ SITE_NAME }} | {{ SITE_DESCRIPTION }}</title>
<meta name="description" content="{{ SITE_SEO_DESCRIPTION }}"/>
<meta name="keywords" content="linux,apache,mysql,服务器,ubuntu,shell,java,web,javaweb,wordpress,csharp,.net,asp"/>
<meta name="keywords" content="{{ SITE_KEYWORDS }}"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="{{ SITE_NAME }}"/>
<meta property="og:description" content="{{ SITE_DESCRIPTION }}"/>

@ -13,9 +13,16 @@
</h1>
<div class="comments-link">
{% if article.comment_status == "o" %}
<a href="{{ article.get_absolute_url }}#comments"
class="ds-thread-count" data-thread-key="3815" rel="nofollow"><span
class="leave-reply">发表评论</span></a>
<a href="{{ article.get_absolute_url }}#comments" class="ds-thread-count" data-thread-key="3815"
rel="nofollow">
<span class="leave-reply">
{% if article.comment and article.comment_set.count %}
{{ article.comment_set.count }}个评论
{% else %}
发表评论
{% endif %}
</span>
</a>
{% endif %}
<div style="float:right">
{{ article.views }} views

@ -1,9 +1,9 @@
{% extends 'base.html' %}
{% extends 'share_layout/base.html' %}
{% load blog_tags %}
{% block header %}
<title>{{ SITE_NAME }} | {{ SITE_DESCRIPTION }}</title>
<meta name="description" content="{{ SITE_SEO_DESCRIPTION }}"/>
<meta name="keywords" content="linux,apache,mysql,服务器,ubuntu,shell,java,web,javaweb,wordpress,csharp,.net,asp"/>
<meta name="keywords" content="{{ SITE_KEYWORDS }}"/>
<meta property="og:type" content="blog"/>
<meta property="og:title" content="{{ SITE_NAME }}"/>
<meta property="og:description" content="{{ SITE_DESCRIPTION }}"/>

@ -54,7 +54,7 @@
</hgroup>
{% include 'nav.html' %}
{% include 'share_layout/nav.html' %}
</header><!-- #masthead -->
<div id="main" class="wrapper">
{% block content %}
@ -64,7 +64,7 @@
{% endblock %}
</div><!-- #main .wrapper -->
{% include 'footer.html' %}
{% include 'share_layout/footer.html' %}
</div><!-- #page -->
{% comment %}
<div id="wp-auto-top">

@ -13,7 +13,7 @@
|&nbsp; Hosting On&nbsp;
<a href="https://www.linode.com/?r=b0d38794d05ef8816b357a929106e89b7c6452f9" target="blank" rel="nofollow">Linode</a>
|&nbsp;
{% include 'analyticscode.html' %}
{% include 'share_layout/analyticscode.html' %}
</div>
</footer><!-- #colophon -->

@ -10,7 +10,7 @@
{% load blog_tags %}
{% query nav_category_list parent_category=None as root_categorys %}
{% for node in root_categorys %}
{% include 'nav_node.html' %}
{% include 'share_layout/nav_node.html' %}
{% endfor %}
{% if nav_pages %}
{% for node in nav_pages %}
Loading…
Cancel
Save