From e2e5b29a4b47212d01fc1df12ad4f1b3c97a3b4d Mon Sep 17 00:00:00 2001 From: liangliangyy Date: Tue, 9 May 2023 16:05:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=84=E8=AE=BA=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog/context_processors.py | 7 ++--- .../0003_blogsettings_comment_need_review.py | 17 ++++++++++++ ...de_blogsettings_analytics_code_and_more.py | 27 +++++++++++++++++++ blog/models.py | 10 ++++--- blog/templatetags/blog_tags.py | 2 +- comments/views.py | 5 +++- djangoblog/blog_signals.py | 6 ++--- djangoblog/utils.py | 7 ++--- requirements.txt | 17 ++++++------ templates/comments/tags/post_comment.html | 6 ++++- templates/share_layout/analyticscode.html | 24 ----------------- templates/share_layout/footer.html | 1 - 12 files changed, 79 insertions(+), 50 deletions(-) create mode 100644 blog/migrations/0003_blogsettings_comment_need_review.py create mode 100644 blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py delete mode 100644 templates/share_layout/analyticscode.html diff --git a/blog/context_processors.py b/blog/context_processors.py index e1355d1..73e3088 100644 --- a/blog/context_processors.py +++ b/blog/context_processors.py @@ -17,7 +17,7 @@ def seo_processor(requests): logger.info('set processor cache.') setting = get_blog_setting() value = { - 'SITE_NAME': setting.sitename, + '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, @@ -30,13 +30,14 @@ def seo_processor(requests): type='p', status='p'), 'OPEN_SITE_COMMENT': setting.open_site_comment, - 'BEIAN_CODE': setting.beiancode, - 'ANALYTICS_CODE': setting.analyticscode, + '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 diff --git a/blog/migrations/0003_blogsettings_comment_need_review.py b/blog/migrations/0003_blogsettings_comment_need_review.py new file mode 100644 index 0000000..e9f5502 --- /dev/null +++ b/blog/migrations/0003_blogsettings_comment_need_review.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.1 on 2023-05-09 07:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ('blog', '0002_blogsettings_global_footer_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='blogsettings', + name='comment_need_review', + field=models.BooleanField(default=False, verbose_name='评论是否需要审核'), + ), + ] diff --git a/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py b/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py new file mode 100644 index 0000000..ceb1398 --- /dev/null +++ b/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py @@ -0,0 +1,27 @@ +# Generated by Django 4.2.1 on 2023-05-09 07:51 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ('blog', '0003_blogsettings_comment_need_review'), + ] + + operations = [ + migrations.RenameField( + model_name='blogsettings', + old_name='analyticscode', + new_name='analytics_code', + ), + migrations.RenameField( + model_name='blogsettings', + old_name='beiancode', + new_name='beian_code', + ), + migrations.RenameField( + model_name='blogsettings', + old_name='sitename', + new_name='site_name', + ), + ] diff --git a/blog/models.py b/blog/models.py index 1992b90..59e72c6 100644 --- a/blog/models.py +++ b/blog/models.py @@ -295,7 +295,7 @@ class SideBar(models.Model): class BlogSettings(models.Model): """blog的配置""" - sitename = models.CharField( + site_name = models.CharField( "网站名称", max_length=200, null=False, @@ -325,13 +325,13 @@ class BlogSettings(models.Model): open_site_comment = models.BooleanField('是否打开网站评论功能', default=True) global_header = models.TextField("公共头部", null=True, blank=True, default='') global_footer = models.TextField("公共尾部", null=True, blank=True, default='') - beiancode = models.CharField( + beian_code = models.CharField( '备案号', max_length=2000, null=True, blank=True, default='') - analyticscode = models.TextField( + analytics_code = models.TextField( "网站统计代码", max_length=1000, null=False, @@ -345,13 +345,15 @@ class BlogSettings(models.Model): null=True, blank=True, default='') + comment_need_review = models.BooleanField( + '评论是否需要审核', default=False, null=False) class Meta: verbose_name = '网站配置' verbose_name_plural = verbose_name def __str__(self): - return self.sitename + return self.site_name def clean(self): if BlogSettings.objects.exclude(id=self.id).count(): diff --git a/blog/templatetags/blog_tags.py b/blog/templatetags/blog_tags.py index c59498e..64925e8 100644 --- a/blog/templatetags/blog_tags.py +++ b/blog/templatetags/blog_tags.py @@ -88,7 +88,7 @@ def load_breadcrumb(article): from djangoblog.utils import get_blog_setting blogsetting = get_blog_setting() site = get_current_site().domain - names.append((blogsetting.sitename, '/')) + names.append((blogsetting.site_name, '/')) names = names[::-1] return { diff --git a/comments/views.py b/comments/views.py index b4cf4ca..8ad0fe5 100644 --- a/comments/views.py +++ b/comments/views.py @@ -45,7 +45,10 @@ class CommentPostView(FormView): raise ValidationError("该文章评论已关闭.") comment = form.save(False) comment.article = article - + from djangoblog.utils import get_blog_setting + settings = get_blog_setting() + if not settings.comment_need_review: + comment.is_enable = True comment.author = user if form.cleaned_data['parent_comment_id']: diff --git a/djangoblog/blog_signals.py b/djangoblog/blog_signals.py index 1b146bd..393f441 100644 --- a/djangoblog/blog_signals.py +++ b/djangoblog/blog_signals.py @@ -9,11 +9,11 @@ from django.core.mail import EmailMultiAlternatives from django.db.models.signals import post_save from django.dispatch import receiver +from comments.models import Comment +from comments.utils import send_comment_email from djangoblog.spider_notify import SpiderNotify from djangoblog.utils import cache, expire_view_cache, delete_sidebar_cache, delete_view_cache from djangoblog.utils import get_current_site -from comments.models import Comment -from comments.utils import send_comment_email from oauth.models import OAuthUser logger = logging.getLogger(__name__) @@ -107,7 +107,7 @@ def model_post_save_callback( delete_sidebar_cache() delete_view_cache('article_comments', [str(instance.article.pk)]) - _thread.start_new(send_comment_email, (instance,)) + _thread.start_new_thread(send_comment_email, (instance,)) if clearcache: cache.clear() diff --git a/djangoblog/utils.py b/djangoblog/utils.py index 9d722e3..160f9b8 100644 --- a/djangoblog/utils.py +++ b/djangoblog/utils.py @@ -152,7 +152,7 @@ def get_blog_setting(): from blog.models import BlogSettings if not BlogSettings.objects.count(): setting = BlogSettings() - setting.sitename = 'djangoblog' + setting.site_name = 'djangoblog' setting.site_description = '基于Django的博客系统' setting.site_seo_description = '基于Django的博客系统' setting.site_keywords = 'Django,Python' @@ -161,9 +161,10 @@ def get_blog_setting(): setting.sidebar_comment_count = 5 setting.show_google_adsense = False setting.open_site_comment = True - setting.analyticscode = '' - setting.beiancode = '' + setting.analytics_code = '' + setting.beian_code = '' setting.show_gongan_code = False + setting.comment_need_review = False setting.save() value = BlogSettings.objects.first() logger.info('set cache get_blog_setting') diff --git a/requirements.txt b/requirements.txt index b9badff..0ec93d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ coverage==7.2.2 bleach==6.0.0 -Django==4.1.7 +Django==4.2.1 django-compressor==4.3.1 django-haystack==3.2.1 django-ipware==5.0.0 @@ -13,16 +13,15 @@ jieba==0.42.1 jsonpickle==3.0.1 Markdown==3.4.3 mysqlclient==2.1.1 -Pillow==9.4.0 -Pygments==2.14.0 +Pillow==9.5.0 +Pygments==2.15.1 python-logstash==0.4.8 python-slugify==8.0.1 -pytz==2023.2 -raven==6.10.0 -requests==2.28.2 -urllib3==1.26.15 +pytz==2023.3 +requests==2.30.0 +urllib3==2.0.2 WeRoBot==1.13.1 Whoosh==2.7.4 user-agents==2.2.0 -redis==4.5.4 -openai==0.27.2 +redis==4.5.5 +openai==0.27.6 diff --git a/templates/comments/tags/post_comment.html b/templates/comments/tags/post_comment.html index 8a4fc48..3ae5a27 100644 --- a/templates/comments/tags/post_comment.html +++ b/templates/comments/tags/post_comment.html @@ -15,7 +15,11 @@

{{ form.parent_comment_id }}
- 支持markdown,评论经审核后才会显示。 + {% if COMMENT_NEED_REVIEW %} + 支持markdown,评论经审核后才会显示。 + {% else %} + 支持markdown。 + {% endif %}