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 }}
-
+ {% if COMMENT_NEED_REVIEW %}
+
+ {% else %}
+
+ {% endif %}