From 743eef5114cb7747d59901f044f2c0711a045926 Mon Sep 17 00:00:00 2001 From: yangjian Date: Tue, 10 Mar 2020 20:49:30 +0800 Subject: [PATCH] =?UTF-8?q?v0.3.1=E7=B4=A7=E6=80=A5=E4=BF=AE=E5=A4=8Dsitem?= =?UTF-8?q?ap=E5=AF=BC=E8=87=B4=E7=9A=84makemigrations=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 7 ++++ MrDoc/settings.py | 2 +- MrDoc/urls.py | 4 +- README.md | 13 +++++-- app_doc/migrations/0010_auto_20200310_2032.py | 19 +++++++++ app_doc/models.py | 2 +- app_doc/sitemaps.py | 39 ++++++++++++------- app_doc/urls.py | 4 +- requirements.txt | 2 - template/app_doc/pro_list.html | 2 +- 10 files changed, 67 insertions(+), 27 deletions(-) create mode 100644 app_doc/migrations/0010_auto_20200310_2032.py diff --git a/CHANGES.md b/CHANGES.md index 742e7ac..c3566ca 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,12 @@ ## 版本更新记录 +### v0.3.1 2020-03-10 + +- 紧急修复sitemap导致的makemigrations错误; +- 修改文集下载导出模型外键字段类型; +- 调整文集和文档的URL结构; +- 更新依赖库文件; + ### v0.3.0 2020-03-07 - 优化MD文件导出逻辑,修复文档中本地资源不存在引发异常的问题; diff --git a/MrDoc/settings.py b/MrDoc/settings.py index 31c933b..6dba1ef 100644 --- a/MrDoc/settings.py +++ b/MrDoc/settings.py @@ -25,7 +25,7 @@ SECRET_KEY = '5&71mt9@^58zdg*_!t(x6g14q*@84d%ptr%%s6e0l50zs0we3d' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = False -VERSIONS = '0.3.0' +VERSIONS = '0.3.1' ALLOWED_HOSTS = ['*'] diff --git a/MrDoc/urls.py b/MrDoc/urls.py index 22ef684..7e06b28 100644 --- a/MrDoc/urls.py +++ b/MrDoc/urls.py @@ -18,9 +18,9 @@ from django.urls import path,include,re_path from django.views.static import serve from django.conf import settings from django.contrib.sitemaps import views -from app_doc.sitemaps import all_sitemaps +from app_doc.sitemaps import SitemapAll -sitemaps = all_sitemaps() +sitemaps = SitemapAll() urlpatterns = [ path('admin/', admin.site.urls), diff --git a/README.md b/README.md index e69106e..b4e78fe 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# MrDoc - 一个简单的文档写作应用 +# MrDoc - 记录文档,汇聚思想,一个简单的文档记录和阅读应用 **PC端文档阅读界面:** @@ -6,9 +6,16 @@ ## 介绍 -州的先生(zmister.com)自用并完全开源、基于Python编写的文档写作系统。 +州的先生(https://zmister.com)自用并完全开源、基于Python编写的文档写作系统。 -当前版本为:**v0.3.0**,版本发布时间为**2020-03-07**,更新记录详见:[CHANGES.md](./CHANGES.md) +当前版本为:**v0.3.1**,版本发布时间为**2020-03-10**,此版本主要更新了如下内容: + +- 紧急修复sitemap导致的makemigrations错误; +- 修改文集下载导出模型外键字段类型; +- 调整文集和文档的URL结构; +- 更新依赖库文件; + +完整更新记录详见:[CHANGES.md](./CHANGES.md) MrDoc拥有以下特点: diff --git a/app_doc/migrations/0010_auto_20200310_2032.py b/app_doc/migrations/0010_auto_20200310_2032.py new file mode 100644 index 0000000..12084ff --- /dev/null +++ b/app_doc/migrations/0010_auto_20200310_2032.py @@ -0,0 +1,19 @@ +# Generated by Django 2.1 on 2020-03-10 20:32 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('app_doc', '0009_projectreport'), + ] + + operations = [ + migrations.AlterField( + model_name='projectreport', + name='project', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='app_doc.Project'), + ), + ] diff --git a/app_doc/models.py b/app_doc/models.py index 20229d0..54df757 100644 --- a/app_doc/models.py +++ b/app_doc/models.py @@ -74,7 +74,7 @@ class DocTemp(models.Model): # 文集导出模型 class ProjectReport(models.Model): - project = models.ForeignKey(Project,unique=True,on_delete=models.CASCADE) + project = models.OneToOneField(Project,unique=True,on_delete=models.CASCADE) # 允许导出,默认为0-允许,1-不允许 allow_epub = models.IntegerField(default=0,verbose_name="前台导出EPUB") diff --git a/app_doc/sitemaps.py b/app_doc/sitemaps.py index 8c634bb..154309a 100644 --- a/app_doc/sitemaps.py +++ b/app_doc/sitemaps.py @@ -41,18 +41,27 @@ class DocSitemap(Sitemap): def lastmod(self,obj): return obj.modify_time -def all_sitemaps(): - all_sitemap = {} - all_sitemap['home'] = HomeSitemap() - all_project = ProjectSitemap() - # print("所有文集:",all_project.items()) - for project in all_project.items(): - # for project in Project.objects.filter(role=0): - info_dict = { - 'queryset': Doc.objects.filter(status=1,top_doc=project.id), - } - # sitemap = GenericSitemap(info_dict,priority=0.6) - sitemap = DocSitemap(pro=project.id) - all_sitemap[str(project.id)] = sitemap - # print(all_sitemaps) - return all_sitemap \ No newline at end of file + +class SitemapAll(): + def __init__(self): + self.sitemaps = {} + + def __iter__(self): + self._generate_sitemaps_dict() + return self.sitemaps.__iter__() + + def __getitem__(self, key): + self._generate_sitemaps_dict() + return self.sitemaps[key] + + def items(self): + self._generate_sitemaps_dict() + return self.sitemaps.items() + + def _generate_sitemaps_dict(self): + if self.sitemaps: + return + for project in Project.objects.filter(role=0): + sitemap = DocSitemap(pro=project.id) + self.sitemaps[str(project.id)] = sitemap + self.sitemaps['home'] = HomeSitemap() \ No newline at end of file diff --git a/app_doc/urls.py b/app_doc/urls.py index b55b3a5..7581b43 100644 --- a/app_doc/urls.py +++ b/app_doc/urls.py @@ -4,7 +4,7 @@ from app_doc import views,util_upload_img urlpatterns = [ path('',views.project_list,name='pro_list'),# 文档首页 #################文集相关 - path('project//', views.project_index, name='pro_index'), # 文集浏览页 + path('project-/', views.project_index, name='pro_index'), # 文集浏览页 path('create_project/', views.create_project, name='create_project'), # 新建文集 path('get_pro_doc/', views.get_pro_doc, name="get_pro_doc"), # 获取某个文集的下级文档 path('modify_pro/',views.modify_project,name='modify_project'), # 修改文集 @@ -16,7 +16,7 @@ urlpatterns = [ path('modify_pro_download//', views.modify_project_download, name="modify_pro_download"), # 修改文集前台下载权限 path('check_viewcode/',views.check_viewcode,name='check_viewcode'),# 文集访问码验证 #################文档相关 - path('project///', views.doc, name='doc'), # 文档浏览页 + path('project-/doc-/', views.doc, name='doc'), # 文档浏览页 path('create_doc/', views.create_doc, name="create_doc"), # 新建文档 path('modify_doc//', views.modify_doc, name="modify_doc"), # 修改文档 path('del_doc/',views.del_doc,name="del_doc"), # 删除文档 diff --git a/requirements.txt b/requirements.txt index de536fb..511cfc1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,5 @@ beautifulsoup4==4.8.2 Django==2.2.3 Pillow==6.1.0 -pkg-resources==0.0.0 pytz==2019.1 -soupsieve==2.0 sqlparse==0.3.0 diff --git a/template/app_doc/pro_list.html b/template/app_doc/pro_list.html index 30809f4..0eaa627 100644 --- a/template/app_doc/pro_list.html +++ b/template/app_doc/pro_list.html @@ -12,7 +12,7 @@ MrDoc - 一个简单的文档写作系统 - +