diff --git a/.idea/DjangoBlog-yxy_branch.iml b/.idea/DjangoBlog-yxy_branch.iml
new file mode 100644
index 00000000..9b074581
--- /dev/null
+++ b/.idea/DjangoBlog-yxy_branch.iml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index db8786c0..ecfd11f6 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,7 +1,7 @@
-
+
-
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 3d4e23c6..9d79efe6 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,7 +2,7 @@
-
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 35eb1ddf..94a25f7f 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/src/DjangoBlog-master/.idea/.gitignore b/djangoblog/.idea/.gitignore
similarity index 100%
rename from src/DjangoBlog-master/.idea/.gitignore
rename to djangoblog/.idea/.gitignore
diff --git a/src/DjangoBlog-master/.idea/inspectionProfiles/profiles_settings.xml b/djangoblog/.idea/inspectionProfiles/profiles_settings.xml
similarity index 100%
rename from src/DjangoBlog-master/.idea/inspectionProfiles/profiles_settings.xml
rename to djangoblog/.idea/inspectionProfiles/profiles_settings.xml
diff --git a/djangoblog/.idea/misc.xml b/djangoblog/.idea/misc.xml
new file mode 100644
index 00000000..db8786c0
--- /dev/null
+++ b/djangoblog/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/djangoblog/.idea/modules.xml b/djangoblog/.idea/modules.xml
new file mode 100644
index 00000000..3d4e23c6
--- /dev/null
+++ b/djangoblog/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/djangoblog/.idea/vcs.xml b/djangoblog/.idea/vcs.xml
new file mode 100644
index 00000000..35eb1ddf
--- /dev/null
+++ b/djangoblog/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/zyl_django.iml b/djangoblog/.idea/zyl_django.iml
similarity index 100%
rename from .idea/zyl_django.iml
rename to djangoblog/.idea/zyl_django.iml
diff --git a/README.md b/djangoblog/README.md
similarity index 100%
rename from README.md
rename to djangoblog/README.md
diff --git a/doc/DjangoBlog开源代码的泛读报告.docx b/djangoblog/doc/DjangoBlog开源代码的泛读报告.docx
similarity index 100%
rename from doc/DjangoBlog开源代码的泛读报告.docx
rename to djangoblog/doc/DjangoBlog开源代码的泛读报告.docx
diff --git a/djangoblog/src/DjangoBlog-master/.idea/.gitignore b/djangoblog/src/DjangoBlog-master/.idea/.gitignore
new file mode 100644
index 00000000..35410cac
--- /dev/null
+++ b/djangoblog/src/DjangoBlog-master/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/src/DjangoBlog-master/.idea/DjangoBlog-master.iml b/djangoblog/src/DjangoBlog-master/.idea/DjangoBlog-master.iml
similarity index 100%
rename from src/DjangoBlog-master/.idea/DjangoBlog-master.iml
rename to djangoblog/src/DjangoBlog-master/.idea/DjangoBlog-master.iml
diff --git a/djangoblog/src/DjangoBlog-master/.idea/inspectionProfiles/profiles_settings.xml b/djangoblog/src/DjangoBlog-master/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 00000000..105ce2da
--- /dev/null
+++ b/djangoblog/src/DjangoBlog-master/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/DjangoBlog-master/.idea/misc.xml b/djangoblog/src/DjangoBlog-master/.idea/misc.xml
similarity index 100%
rename from src/DjangoBlog-master/.idea/misc.xml
rename to djangoblog/src/DjangoBlog-master/.idea/misc.xml
diff --git a/src/DjangoBlog-master/.idea/modules.xml b/djangoblog/src/DjangoBlog-master/.idea/modules.xml
similarity index 100%
rename from src/DjangoBlog-master/.idea/modules.xml
rename to djangoblog/src/DjangoBlog-master/.idea/modules.xml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/.coveragerc b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/.coveragerc
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/.coveragerc
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/.coveragerc
diff --git a/src/DjangoBlog-master/DjangoBlog-master/.dockerignore b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/.dockerignore
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/.dockerignore
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/.dockerignore
diff --git a/src/DjangoBlog-master/DjangoBlog-master/.gitattributes b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/.gitattributes
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/.gitattributes
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/.gitattributes
diff --git a/src/DjangoBlog-master/DjangoBlog-master/.github/ISSUE_TEMPLATE.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/ISSUE_TEMPLATE.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/.github/ISSUE_TEMPLATE.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/ISSUE_TEMPLATE.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/codeql-analysis.yml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/codeql-analysis.yml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/.github/workflows/codeql-analysis.yml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/codeql-analysis.yml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/django.yml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/django.yml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/.github/workflows/django.yml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/django.yml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/docker.yml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/docker.yml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/.github/workflows/docker.yml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/docker.yml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/publish-release.yml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/publish-release.yml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/.github/workflows/publish-release.yml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/.github/workflows/publish-release.yml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/.gitignore b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/.gitignore
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/.gitignore
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/.gitignore
diff --git a/src/DjangoBlog-master/DjangoBlog-master/Dockerfile b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/Dockerfile
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/Dockerfile
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/Dockerfile
diff --git a/src/DjangoBlog-master/DjangoBlog-master/LICENSE b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/LICENSE
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/LICENSE
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/LICENSE
diff --git a/src/DjangoBlog-master/DjangoBlog-master/README.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/README.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/README.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/README.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/admin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/admin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/admin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/admin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/apps.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/apps.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/apps.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/apps.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/forms.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/forms.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/forms.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/forms.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/0001_initial.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/0001_initial.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/0001_initial.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/0001_initial.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/0002_alter_bloguser_options_remove_bloguser_created_time_and_more.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/0002_alter_bloguser_options_remove_bloguser_created_time_and_more.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/0002_alter_bloguser_options_remove_bloguser_created_time_and_more.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/0002_alter_bloguser_options_remove_bloguser_created_time_and_more.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/migrations/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/models.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/models.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/models.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/models.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/templatetags/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/templatetags/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/templatetags/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/templatetags/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/tests.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/tests.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/tests.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/tests.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/urls.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/urls.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/urls.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/urls.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/user_login_backend.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/user_login_backend.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/user_login_backend.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/user_login_backend.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/utils.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/utils.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/utils.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/utils.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/accounts/views.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/views.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/accounts/views.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/accounts/views.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/__init__.py
diff --git a/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/admin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/admin.py
new file mode 100644
index 00000000..8b0d9346
--- /dev/null
+++ b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/admin.py
@@ -0,0 +1,189 @@
+# 导入Django表单模块,用于创建自定义表单
+from django import forms
+# 导入Django admin模块,用于注册模型到后台管理系统
+from django.contrib import admin
+# 导入获取用户模型的函数,用于处理作者关联
+from django.contrib.auth import get_user_model
+# 导入reverse函数,用于生成URL
+from django.urls import reverse
+# 导入format_html,用于在admin中生成HTML代码
+from django.utils.html import format_html
+# 导入国际化工具,用于翻译后台显示文本
+from django.utils.translation import gettext_lazy as _
+
+# 导入当前应用的Article模型
+from .models import Article
+
+
+class ArticleForm(forms.ModelForm):
+ """
+ 自定义文章表单,用于在admin中自定义文章的编辑界面
+
+ 可以在这里添加自定义字段验证、 widgets 或修改表单行为
+ 目前注释掉了pagedown编辑器的配置,如需使用可取消注释
+ """
+
+ # body = forms.CharField(widget=AdminPagedownWidget()) # 富文本编辑器配置
+
+ class Meta:
+ model = Article # 关联的模型
+ fields = '__all__' # 包含模型的所有字段
+
+
+# 自定义批量操作:发布选中的文章
+def makr_article_publish(modeladmin, request, queryset):
+ # 将选中文章的状态更新为'p'(published)
+ queryset.update(status='p')
+
+
+# 自定义批量操作:将选中的文章设为草稿
+def draft_article(modeladmin, request, queryset):
+ # 将选中文章的状态更新为'd'(draft)
+ queryset.update(status='d')
+
+
+# 自定义批量操作:关闭选中文章的评论
+def close_article_commentstatus(modeladmin, request, queryset):
+ # 将选中文章的评论状态更新为'c'(closed)
+ queryset.update(comment_status='c')
+
+
+# 自定义批量操作:开启选中文章的评论
+def open_article_commentstatus(modeladmin, request, queryset):
+ # 将选中文章的评论状态更新为'o'(open)
+ queryset.update(comment_status='o')
+
+
+# 为批量操作设置显示名称(支持国际化)
+makr_article_publish.short_description = _('Publish selected articles')
+draft_article.short_description = _('Draft selected articles')
+close_article_commentstatus.short_description = _('Close article comments')
+open_article_commentstatus.short_description = _('Open article comments')
+
+
+class ArticlelAdmin(admin.ModelAdmin):
+ """
+ 文章模型的Admin配置类,自定义文章在后台的显示和操作方式
+ """
+ list_per_page = 20 # 每页显示20条记录
+ search_fields = ('body', 'title') # 可搜索的字段
+ form = ArticleForm # 使用自定义的表单
+ # 列表页显示的字段
+ list_display = (
+ 'id', # 文章ID
+ 'title', # 标题
+ 'author', # 作者
+ 'link_to_category', # 分类(带链接)
+ 'creation_time', # 创建时间
+ 'views', # 浏览量
+ 'status', # 状态
+ 'type', # 类型(文章/页面)
+ 'article_order' # 排序序号
+ )
+ # 列表页可点击跳转编辑的字段
+ list_display_links = ('id', 'title')
+ # 可筛选的字段(右侧过滤器)
+ list_filter = ('status', 'type', 'category')
+ # 多对多字段的水平选择器
+ filter_horizontal = ('tags',)
+ # 编辑页排除的字段(这些字段通常自动生成,不需要手动编辑)
+ exclude = ('creation_time', 'last_modify_time')
+ # 启用"在站点上查看"功能
+ view_on_site = True
+ # 注册批量操作
+ actions = [
+ makr_article_publish,
+ draft_article,
+ close_article_commentstatus,
+ open_article_commentstatus
+ ]
+
+ def link_to_category(self, obj):
+ """
+ 自定义列表字段:显示分类并添加跳转链接到分类编辑页
+
+ Args:
+ obj: 当前文章对象
+
+ Returns:
+ HTML代码:带链接的分类名称
+ """
+ # 获取分类模型的元数据,用于生成URL
+ info = (obj.category._meta.app_label, obj.category._meta.model_name)
+ # 生成分类编辑页的URL
+ link = reverse('admin:%s_%s_change' % info, args=(obj.category.id,))
+ # 返回带链接的HTML
+ return format_html(u'%s' % (link, obj.category.name))
+
+ # 自定义字段的显示名称
+ link_to_category.short_description = _('category')
+
+ def get_form(self, request, obj=None, **kwargs):
+ """
+ 重写表单获取方法,自定义表单字段
+
+ 这里限制了作者只能选择超级用户
+ """
+ form = super(ArticlelAdmin, self).get_form(request, obj, **kwargs)
+ # 作者字段只显示超级用户
+ form.base_fields['author'].queryset = get_user_model().objects.filter(is_superuser=True)
+ return form
+
+ def save_model(self, request, obj, form, change):
+ """
+ 重写保存模型的方法
+
+ 可以在这里添加额外的保存逻辑,如自动填充某些字段
+ 目前使用默认实现
+ """
+ super(ArticlelAdmin, self).save_model(request, obj, form, change)
+
+ def get_view_on_site_url(self, obj=None):
+ """
+ 自定义"在站点上查看"的链接
+
+ Args:
+ obj: 文章对象
+
+ Returns:
+ 文章的前台访问URL或网站首页
+ """
+ if obj:
+ # 如果有文章对象,返回文章的完整URL
+ url = obj.get_full_url()
+ return url
+ else:
+ # 如果没有对象(如在列表页),返回网站首页
+ from djangoblog.utils import get_current_site
+ site = get_current_site().domain
+ return site
+
+
+class TagAdmin(admin.ModelAdmin):
+ """标签模型的Admin配置"""
+ # 编辑页排除的字段(自动生成)
+ exclude = ('slug', 'last_mod_time', 'creation_time')
+
+
+class CategoryAdmin(admin.ModelAdmin):
+ """分类模型的Admin配置"""
+ # 列表页显示的字段
+ list_display = ('name', 'parent_category', 'index')
+ # 编辑页排除的字段
+ exclude = ('slug', 'last_mod_time', 'creation_time')
+
+
+class LinksAdmin(admin.ModelAdmin):
+ """链接模型的Admin配置"""
+ exclude = ('last_mod_time', 'creation_time')
+
+
+class SideBarAdmin(admin.ModelAdmin):
+ """侧边栏模型的Admin配置"""
+ list_display = ('name', 'content', 'is_enable', 'sequence')
+ exclude = ('last_mod_time', 'creation_time')
+
+
+class BlogSettingsAdmin(admin.ModelAdmin):
+ """博客设置模型的Admin配置"""
+ pass # 使用默认配置
diff --git a/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/apps.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/apps.py
new file mode 100644
index 00000000..4bd78485
--- /dev/null
+++ b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/apps.py
@@ -0,0 +1,15 @@
+# 从Django的apps模块导入AppConfig类,用于定义应用的配置
+from django.apps import AppConfig
+
+
+class BlogConfig(AppConfig):
+ """
+ 博客应用(blog)的配置类
+
+ Django通过此类识别和配置应用的基本信息,
+ 包括应用名称、默认自动生成的主键类型等。
+ 当项目启动时,Django会加载每个应用的AppConfig子类。
+ """
+ # 定义应用的名称,必须与应用的实际目录名一致
+ # 这个名称用于Django内部识别应用,例如在INSTALLED_APPS中注册时使用
+ name = 'blog'
diff --git a/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/context_processors.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/context_processors.py
new file mode 100644
index 00000000..f2acba47
--- /dev/null
+++ b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/context_processors.py
@@ -0,0 +1,73 @@
+# 导入日志模块,用于记录系统运行时的信息和错误
+import logging
+
+# 从django.utils导入timezone,用于获取当前时间
+from django.utils import timezone
+
+# 导入自定义的缓存工具和获取博客设置的工具函数
+from djangoblog.utils import cache, get_blog_setting
+# 导入当前应用下的Category(分类)和Article(文章)模型
+from .models import Category, Article
+
+# 创建日志记录器,用于记录当前模块的日志信息
+logger = logging.getLogger(__name__)
+
+
+def seo_processor(requests):
+ """
+ 自定义上下文处理器,用于在所有模板中全局共享SEO相关的配置和数据
+
+ 上下文处理器是Django的一个功能,允许你在所有模板中自动添加变量,
+ 无需在每个视图函数中单独传递,特别适合网站全局配置信息的共享。
+
+ Args:
+ requests: Django请求对象,包含当前请求的相关信息(如域名、协议等)
+
+ Returns:
+ dict: 包含网站配置、分类、页面等信息的字典,将被注入到所有模板中
+ """
+ # 定义缓存键,用于标识当前处理器的缓存数据
+ key = 'seo_processor'
+ # 尝试从缓存中获取数据,减少数据库查询和计算开销
+ value = cache.get(key)
+
+ # 如果缓存中存在数据,直接返回缓存内容
+ if value:
+ return value
+ else:
+ # 缓存未命中时,记录日志并重新计算数据
+ logger.info('set processor cache.')
+ # 获取博客的全局设置(从数据库或其他配置源)
+ setting = get_blog_setting()
+
+ # 构建需要传递给模板的全局变量字典
+ value = {
+ 'SITE_NAME': setting.site_name, # 网站名称
+ 'SHOW_GOOGLE_ADSENSE': setting.show_google_adsense, # 是否显示谷歌广告
+ 'GOOGLE_ADSENSE_CODES': setting.google_adsense_codes, # 谷歌广告代码
+ 'SITE_SEO_DESCRIPTION': setting.site_seo_description, # 网站SEO描述(用于搜索引擎)
+ 'SITE_DESCRIPTION': setting.site_description, # 网站描述
+ 'SITE_KEYWORDS': setting.site_keywords, # 网站关键词(用于SEO)
+ # 网站基础URL(如https://example.com/)
+ 'SITE_BASE_URL': requests.scheme + '://' + requests.get_host() + '/',
+ 'ARTICLE_SUB_LENGTH': setting.article_sub_length, # 文章摘要长度
+ 'nav_category_list': Category.objects.all(), # 导航栏显示的所有分类
+ # 导航栏显示的页面(类型为'p'即page,状态为'p'即published)
+ 'nav_pages': Article.objects.filter(
+ type='p',
+ status='p'),
+ 'OPEN_SITE_COMMENT': setting.open_site_comment, # 是否开启网站评论功能
+ 'BEIAN_CODE': setting.beian_code, # 网站备案号
+ 'ANALYTICS_CODE': setting.analytics_code, # 网站统计代码(如Google Analytics)
+ "BEIAN_CODE_GONGAN": setting.gongan_beiancode, # 公安备案号
+ "SHOW_GONGAN_CODE": setting.show_gongan_code, # 是否显示公安备案号
+ "CURRENT_YEAR": timezone.now().year, # 当前年份(用于页脚版权信息等)
+ "GLOBAL_HEADER": setting.global_header, # 全局页眉代码(如额外的CSS/JS)
+ "GLOBAL_FOOTER": setting.global_footer, # 全局页脚代码
+ "COMMENT_NEED_REVIEW": setting.comment_need_review, # 评论是否需要审核
+ }
+
+ # 将数据存入缓存,有效期为10小时(60秒*60分*10小时)
+ cache.set(key, value, 60 * 60 * 10)
+ # 返回构建的全局变量字典
+ return value
\ No newline at end of file
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/documents.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/documents.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/documents.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/documents.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/forms.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/forms.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/forms.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/forms.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/management/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/management/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/build_index.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/build_index.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/build_index.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/build_index.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/build_search_words.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/build_search_words.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/build_search_words.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/build_search_words.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/clear_cache.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/clear_cache.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/clear_cache.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/clear_cache.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/create_testdata.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/create_testdata.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/create_testdata.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/create_testdata.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/ping_baidu.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/ping_baidu.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/ping_baidu.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/ping_baidu.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/sync_user_avatar.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/sync_user_avatar.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/sync_user_avatar.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/management/commands/sync_user_avatar.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/middleware.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/middleware.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/middleware.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/middleware.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0001_initial.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0001_initial.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0001_initial.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0001_initial.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0002_blogsettings_global_footer_and_more.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0002_blogsettings_global_footer_and_more.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0002_blogsettings_global_footer_and_more.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0002_blogsettings_global_footer_and_more.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0003_blogsettings_comment_need_review.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0003_blogsettings_comment_need_review.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0003_blogsettings_comment_need_review.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0003_blogsettings_comment_need_review.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0006_alter_blogsettings_options.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0006_alter_blogsettings_options.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0006_alter_blogsettings_options.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/0006_alter_blogsettings_options.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/migrations/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/migrations/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/models.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/models.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/models.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/models.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/search_indexes.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/search_indexes.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/search_indexes.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/search_indexes.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/templatetags/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/templatetags/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/templatetags/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/templatetags/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/templatetags/blog_tags.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/templatetags/blog_tags.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/templatetags/blog_tags.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/templatetags/blog_tags.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/tests.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/tests.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/tests.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/tests.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/urls.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/urls.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/urls.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/urls.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/views.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/views.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/blog/views.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/blog/views.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/admin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/admin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/admin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/admin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/apps.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/apps.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/apps.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/apps.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/forms.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/forms.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/forms.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/forms.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0001_initial.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0001_initial.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0001_initial.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0001_initial.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0002_alter_comment_is_enable.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0002_alter_comment_is_enable.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0002_alter_comment_is_enable.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0002_alter_comment_is_enable.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/migrations/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/migrations/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/models.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/models.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/models.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/models.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/templatetags/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/templatetags/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/templatetags/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/templatetags/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/templatetags/comments_tags.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/templatetags/comments_tags.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/templatetags/comments_tags.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/templatetags/comments_tags.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/tests.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/tests.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/tests.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/tests.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/urls.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/urls.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/urls.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/urls.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/utils.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/utils.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/utils.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/utils.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/comments/views.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/views.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/comments/views.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/comments/views.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/docker-compose/docker-compose.es.yml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/docker-compose/docker-compose.es.yml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/docker-compose/docker-compose.es.yml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/docker-compose/docker-compose.es.yml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/docker-compose/docker-compose.yml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/docker-compose/docker-compose.yml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/docker-compose/docker-compose.yml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/docker-compose/docker-compose.yml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/entrypoint.sh b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/entrypoint.sh
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/entrypoint.sh
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/entrypoint.sh
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/configmap.yaml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/configmap.yaml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/configmap.yaml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/configmap.yaml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/deployment.yaml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/deployment.yaml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/deployment.yaml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/deployment.yaml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/gateway.yaml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/gateway.yaml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/gateway.yaml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/gateway.yaml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/pv.yaml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/pv.yaml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/pv.yaml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/pv.yaml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/pvc.yaml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/pvc.yaml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/pvc.yaml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/pvc.yaml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/service.yaml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/service.yaml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/service.yaml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/service.yaml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/storageclass.yaml b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/storageclass.yaml
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/storageclass.yaml
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/k8s/storageclass.yaml
diff --git a/src/DjangoBlog-master/DjangoBlog-master/deploy/nginx.conf b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/nginx.conf
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/deploy/nginx.conf
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/deploy/nginx.conf
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/admin_site.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/admin_site.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/admin_site.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/admin_site.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/apps.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/apps.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/apps.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/apps.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/blog_signals.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/blog_signals.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/blog_signals.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/blog_signals.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/elasticsearch_backend.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/elasticsearch_backend.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/elasticsearch_backend.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/elasticsearch_backend.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/feeds.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/feeds.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/feeds.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/feeds.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/logentryadmin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/logentryadmin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/logentryadmin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/logentryadmin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/base_plugin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/base_plugin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/base_plugin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/base_plugin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/hook_constants.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/hook_constants.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/hook_constants.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/hook_constants.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/hooks.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/hooks.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/hooks.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/hooks.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/loader.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/loader.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/loader.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/plugin_manage/loader.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/settings.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/settings.py
similarity index 99%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/settings.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/settings.py
index beece6c3..7158989b 100644
--- a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/settings.py
+++ b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/settings.py
@@ -111,7 +111,7 @@ DATABASES = {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangoblog',
'USER': 'root',
- 'PASSWORD': 'Zyl123456789',
+ 'PASSWORD': 'yanxinyi2252',
'HOST': '127.0.0.1',
'PORT': int(
3306),
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/sitemap.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/sitemap.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/sitemap.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/sitemap.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/spider_notify.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/spider_notify.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/spider_notify.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/spider_notify.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/tests.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/tests.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/tests.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/tests.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/urls.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/urls.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/urls.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/urls.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/utils.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/utils.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/utils.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/utils.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/whoosh_cn_backend.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/whoosh_cn_backend.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/whoosh_cn_backend.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/whoosh_cn_backend.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/djangoblog/wsgi.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/wsgi.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/djangoblog/wsgi.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/djangoblog/wsgi.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/README-en.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/README-en.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/README-en.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/README-en.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/config-en.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/config-en.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/config-en.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/config-en.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/config.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/config.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/config.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/config.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/docker-en.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/docker-en.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/docker-en.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/docker-en.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/docker.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/docker.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/docker.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/docker.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/es.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/es.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/es.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/es.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/imgs/alipay.jpg b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/imgs/alipay.jpg
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/imgs/alipay.jpg
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/imgs/alipay.jpg
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/imgs/pycharm_logo.png b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/imgs/pycharm_logo.png
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/imgs/pycharm_logo.png
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/imgs/pycharm_logo.png
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/imgs/wechat.jpg b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/imgs/wechat.jpg
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/imgs/wechat.jpg
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/imgs/wechat.jpg
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/k8s-en.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/k8s-en.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/k8s-en.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/k8s-en.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/docs/k8s.md b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/k8s.md
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/docs/k8s.md
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/docs/k8s.md
diff --git a/src/DjangoBlog-master/DjangoBlog-master/locale/en/LC_MESSAGES/django.mo b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/en/LC_MESSAGES/django.mo
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/locale/en/LC_MESSAGES/django.mo
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/en/LC_MESSAGES/django.mo
diff --git a/src/DjangoBlog-master/DjangoBlog-master/locale/en/LC_MESSAGES/django.po b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/en/LC_MESSAGES/django.po
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/locale/en/LC_MESSAGES/django.po
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/en/LC_MESSAGES/django.po
diff --git a/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.mo b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.mo
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.mo
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.mo
diff --git a/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.po b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.po
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.po
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.po
diff --git a/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.mo b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.mo
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.mo
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.mo
diff --git a/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.po b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.po
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.po
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.po
diff --git a/src/DjangoBlog-master/DjangoBlog-master/manage.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/manage.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/manage.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/manage.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/admin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/admin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/admin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/admin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/apps.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/apps.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/apps.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/apps.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/forms.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/forms.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/forms.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/forms.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0001_initial.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0001_initial.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0001_initial.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0001_initial.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0003_alter_oauthuser_nickname.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0003_alter_oauthuser_nickname.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0003_alter_oauthuser_nickname.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/0003_alter_oauthuser_nickname.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/migrations/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/models.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/models.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/models.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/models.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/oauthmanager.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/oauthmanager.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/oauthmanager.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/oauthmanager.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/templatetags/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/templatetags/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/templatetags/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/templatetags/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/templatetags/oauth_tags.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/templatetags/oauth_tags.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/templatetags/oauth_tags.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/templatetags/oauth_tags.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/tests.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/tests.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/tests.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/tests.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/urls.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/urls.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/urls.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/urls.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/oauth/views.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/views.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/oauth/views.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/oauth/views.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/admin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/admin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/admin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/admin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/apps.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/apps.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/apps.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/apps.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/0001_initial.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/0001_initial.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/0001_initial.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/0001_initial.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/migrations/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/models.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/models.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/models.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/models.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/tests.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/tests.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/tests.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/tests.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/urls.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/urls.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/urls.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/urls.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/owntracks/views.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/views.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/owntracks/views.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/owntracks/views.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/article_copyright/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/article_copyright/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/article_copyright/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/article_copyright/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/article_copyright/plugin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/article_copyright/plugin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/article_copyright/plugin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/article_copyright/plugin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/external_links/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/external_links/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/external_links/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/external_links/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/external_links/plugin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/external_links/plugin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/external_links/plugin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/external_links/plugin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/reading_time/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/reading_time/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/reading_time/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/reading_time/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/reading_time/plugin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/reading_time/plugin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/reading_time/plugin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/reading_time/plugin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/seo_optimizer/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/seo_optimizer/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/seo_optimizer/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/seo_optimizer/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/seo_optimizer/plugin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/seo_optimizer/plugin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/seo_optimizer/plugin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/seo_optimizer/plugin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/view_count/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/view_count/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/view_count/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/view_count/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/plugins/view_count/plugin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/view_count/plugin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/plugins/view_count/plugin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/plugins/view_count/plugin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/requirements.txt b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/requirements.txt
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/requirements.txt
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/requirements.txt
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/MemcacheStorage.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/MemcacheStorage.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/MemcacheStorage.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/MemcacheStorage.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/admin.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/admin.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/admin.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/admin.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/api/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/api/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/api/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/api/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/api/blogapi.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/api/blogapi.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/api/blogapi.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/api/blogapi.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/api/commonapi.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/api/commonapi.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/api/commonapi.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/api/commonapi.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/apps.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/apps.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/apps.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/apps.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/0001_initial.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/0001_initial.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/0001_initial.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/0001_initial.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/__init__.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/__init__.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/__init__.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/migrations/__init__.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/models.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/models.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/models.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/models.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/robot.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/robot.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/robot.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/robot.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/tests.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/tests.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/tests.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/tests.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/urls.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/urls.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/urls.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/urls.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/servermanager/views.py b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/views.py
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/servermanager/views.py
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/servermanager/views.py
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/account/forget_password.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/account/forget_password.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/account/forget_password.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/account/forget_password.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/account/login.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/account/login.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/account/login.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/account/login.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/account/registration_form.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/account/registration_form.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/account/registration_form.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/account/registration_form.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/account/result.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/account/result.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/account/result.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/account/result.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_archives.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_archives.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_archives.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_archives.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_detail.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_detail.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_detail.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_detail.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_index.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_index.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_index.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/article_index.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/error_page.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/error_page.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/error_page.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/error_page.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/links_list.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/links_list.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/links_list.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/links_list.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_info.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_info.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_info.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_info.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_meta_info.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_meta_info.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_meta_info.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_meta_info.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_pagination.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_pagination.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_pagination.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_pagination.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_tag_list.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_tag_list.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_tag_list.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/article_tag_list.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/breadcrumb.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/breadcrumb.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/breadcrumb.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/breadcrumb.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/sidebar.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/sidebar.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/sidebar.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/blog/tags/sidebar.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_item.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_item.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_item.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_item.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_item_tree.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_item_tree.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_item_tree.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_item_tree.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_list.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_list.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_list.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/comment_list.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/post_comment.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/post_comment.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/post_comment.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/comments/tags/post_comment.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/oauth/bindsuccess.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/oauth/bindsuccess.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/oauth/bindsuccess.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/oauth/bindsuccess.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/oauth/oauth_applications.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/oauth/oauth_applications.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/oauth/oauth_applications.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/oauth/oauth_applications.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/oauth/require_email.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/oauth/require_email.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/oauth/require_email.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/oauth/require_email.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/owntracks/show_log_dates.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/owntracks/show_log_dates.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/owntracks/show_log_dates.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/owntracks/show_log_dates.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/owntracks/show_maps.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/owntracks/show_maps.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/owntracks/show_maps.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/owntracks/show_maps.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/search/indexes/blog/article_text.txt b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/search/indexes/blog/article_text.txt
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/search/indexes/blog/article_text.txt
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/search/indexes/blog/article_text.txt
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/search/search.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/search/search.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/search/search.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/search/search.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/adsense.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/adsense.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/adsense.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/adsense.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/base.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/base.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/base.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/base.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/base_account.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/base_account.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/base_account.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/base_account.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/footer.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/footer.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/footer.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/footer.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/nav.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/nav.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/nav.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/nav.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/nav_node.html b/djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/nav_node.html
similarity index 100%
rename from src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/nav_node.html
rename to djangoblog/src/DjangoBlog-master/DjangoBlog-master/templates/share_layout/nav_node.html
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/admin.py b/src/DjangoBlog-master/DjangoBlog-master/blog/admin.py
deleted file mode 100644
index 46c34208..00000000
--- a/src/DjangoBlog-master/DjangoBlog-master/blog/admin.py
+++ /dev/null
@@ -1,112 +0,0 @@
-from django import forms
-from django.contrib import admin
-from django.contrib.auth import get_user_model
-from django.urls import reverse
-from django.utils.html import format_html
-from django.utils.translation import gettext_lazy as _
-
-# Register your models here.
-from .models import Article
-
-
-class ArticleForm(forms.ModelForm):
- # body = forms.CharField(widget=AdminPagedownWidget())
-
- class Meta:
- model = Article
- fields = '__all__'
-
-
-def makr_article_publish(modeladmin, request, queryset):
- queryset.update(status='p')
-
-
-def draft_article(modeladmin, request, queryset):
- queryset.update(status='d')
-
-
-def close_article_commentstatus(modeladmin, request, queryset):
- queryset.update(comment_status='c')
-
-
-def open_article_commentstatus(modeladmin, request, queryset):
- queryset.update(comment_status='o')
-
-
-makr_article_publish.short_description = _('Publish selected articles')
-draft_article.short_description = _('Draft selected articles')
-close_article_commentstatus.short_description = _('Close article comments')
-open_article_commentstatus.short_description = _('Open article comments')
-
-
-class ArticlelAdmin(admin.ModelAdmin):
- list_per_page = 20
- search_fields = ('body', 'title')
- form = ArticleForm
- list_display = (
- 'id',
- 'title',
- 'author',
- 'link_to_category',
- 'creation_time',
- 'views',
- 'status',
- 'type',
- 'article_order')
- list_display_links = ('id', 'title')
- list_filter = ('status', 'type', 'category')
- filter_horizontal = ('tags',)
- exclude = ('creation_time', 'last_modify_time')
- view_on_site = True
- actions = [
- makr_article_publish,
- draft_article,
- close_article_commentstatus,
- open_article_commentstatus]
-
- def link_to_category(self, obj):
- info = (obj.category._meta.app_label, obj.category._meta.model_name)
- link = reverse('admin:%s_%s_change' % info, args=(obj.category.id,))
- return format_html(u'%s' % (link, obj.category.name))
-
- link_to_category.short_description = _('category')
-
- def get_form(self, request, obj=None, **kwargs):
- form = super(ArticlelAdmin, self).get_form(request, obj, **kwargs)
- form.base_fields['author'].queryset = get_user_model(
- ).objects.filter(is_superuser=True)
- return form
-
- def save_model(self, request, obj, form, change):
- super(ArticlelAdmin, self).save_model(request, obj, form, change)
-
- def get_view_on_site_url(self, obj=None):
- if obj:
- url = obj.get_full_url()
- return url
- else:
- from djangoblog.utils import get_current_site
- site = get_current_site().domain
- return site
-
-
-class TagAdmin(admin.ModelAdmin):
- exclude = ('slug', 'last_mod_time', 'creation_time')
-
-
-class CategoryAdmin(admin.ModelAdmin):
- list_display = ('name', 'parent_category', 'index')
- exclude = ('slug', 'last_mod_time', 'creation_time')
-
-
-class LinksAdmin(admin.ModelAdmin):
- exclude = ('last_mod_time', 'creation_time')
-
-
-class SideBarAdmin(admin.ModelAdmin):
- list_display = ('name', 'content', 'is_enable', 'sequence')
- exclude = ('last_mod_time', 'creation_time')
-
-
-class BlogSettingsAdmin(admin.ModelAdmin):
- pass
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/apps.py b/src/DjangoBlog-master/DjangoBlog-master/blog/apps.py
deleted file mode 100644
index 79305878..00000000
--- a/src/DjangoBlog-master/DjangoBlog-master/blog/apps.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from django.apps import AppConfig
-
-
-class BlogConfig(AppConfig):
- name = 'blog'
diff --git a/src/DjangoBlog-master/DjangoBlog-master/blog/context_processors.py b/src/DjangoBlog-master/DjangoBlog-master/blog/context_processors.py
deleted file mode 100644
index 73e3088b..00000000
--- a/src/DjangoBlog-master/DjangoBlog-master/blog/context_processors.py
+++ /dev/null
@@ -1,43 +0,0 @@
-import logging
-
-from django.utils import timezone
-
-from djangoblog.utils import cache, get_blog_setting
-from .models import Category, Article
-
-logger = logging.getLogger(__name__)
-
-
-def seo_processor(requests):
- key = 'seo_processor'
- value = cache.get(key)
- if value:
- return value
- else:
- logger.info('set processor cache.')
- setting = get_blog_setting()
- value = {
- 'SITE_NAME': setting.site_name,
- 'SHOW_GOOGLE_ADSENSE': setting.show_google_adsense,
- 'GOOGLE_ADSENSE_CODES': setting.google_adsense_codes,
- 'SITE_SEO_DESCRIPTION': setting.site_seo_description,
- 'SITE_DESCRIPTION': setting.site_description,
- 'SITE_KEYWORDS': setting.site_keywords,
- 'SITE_BASE_URL': requests.scheme + '://' + requests.get_host() + '/',
- 'ARTICLE_SUB_LENGTH': setting.article_sub_length,
- 'nav_category_list': Category.objects.all(),
- 'nav_pages': Article.objects.filter(
- type='p',
- status='p'),
- 'OPEN_SITE_COMMENT': setting.open_site_comment,
- 'BEIAN_CODE': setting.beian_code,
- 'ANALYTICS_CODE': setting.analytics_code,
- "BEIAN_CODE_GONGAN": setting.gongan_beiancode,
- "SHOW_GONGAN_CODE": setting.show_gongan_code,
- "CURRENT_YEAR": timezone.now().year,
- "GLOBAL_HEADER": setting.global_header,
- "GLOBAL_FOOTER": setting.global_footer,
- "COMMENT_NEED_REVIEW": setting.comment_need_review,
- }
- cache.set(key, value, 60 * 60 * 10)
- return value