diff --git a/DjangoBlog/settings.py b/DjangoBlog/settings.py index 2ff980e..33d7b4c 100644 --- a/DjangoBlog/settings.py +++ b/DjangoBlog/settings.py @@ -199,3 +199,15 @@ OAHUTH = { SITE_ID = 2 BAIDU_NOTIFY_URL = "http://data.zz.baidu.com/urls?site=https://www.lylinux.net&token=1uAOGrMsUm5syDGn&type=original" + +#Emial: +EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' + +EMAIL_USE_TLS = True +#EMAIL_USE_SSL = True + +EMAIL_HOST = 'smtp.exmail.qq.com' +EMAIL_PORT = 587 +EMAIL_HOST_USER = os.environ.get('DJANGO_EMAIL_USER') +EMAIL_HOST_PASSWORD = os.environ.get('DJANGO_EMAIL_PASSWORD') +DEFAULT_FROM_EMAIL = EMAIL_HOST_USER diff --git a/accounts/views.py b/accounts/views.py index 39ffb44..332476d 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -10,7 +10,7 @@ from django.core.urlresolvers import reverse from django.contrib.auth.forms import AuthenticationForm, UserCreationForm from django.contrib import auth from django.views.decorators.cache import never_cache - +from django.shortcuts import redirect # Create your views here. @@ -24,10 +24,10 @@ class RegisterView(FormView): user.save(True) return HttpResponseRedirect('/') - +@never_cache def LogOut(requests): - logout(request=requests) - return HttpResponseRedirect("/") + logout(request=requests, next_page='index') + return redirect('index') class LoginView(FormView): diff --git a/blog/views.py b/blog/views.py index 85490e5..45f3412 100644 --- a/blog/views.py +++ b/blog/views.py @@ -55,7 +55,7 @@ class ArticleListView(ListView): class IndexView(ArticleListView): def get_queryset(self): - article_list = Article.objects.filter(type='a',status='p') + article_list = Article.objects.filter(type='a', status='p') # for article in article_list: # article.body = article.body[0:settings.ARTICLE_SUB_LENGTH] @@ -228,8 +228,12 @@ def fileupload(request): @login_required def refresh_memcache(request): try: - result = os.popen(' service memcached restart ').readline() - return HttpResponse(result) + if request.user.is_superuser: + result = os.popen(' service memcached restart ').readline() + return HttpResponse(result) + else: + from django.http import HttpResponseForbidden + return HttpResponseForbidden() except Exception as e: return HttpResponse(e); diff --git a/comments/models.py b/comments/models.py index 464fac8..a398d95 100644 --- a/comments/models.py +++ b/comments/models.py @@ -1,16 +1,18 @@ from django.db import models from django.conf import settings - +from django.core.mail import send_mail from blog.models import Article +from django.core.mail import EmailMultiAlternatives +from django.contrib.sites.models import Site # Create your models here. class Comment(models.Model): - #url = models.URLField('地址', blank=True, null=True) - #email = models.EmailField('电子邮件', blank=True, null=True) + # url = models.URLField('地址', blank=True, null=True) + # email = models.EmailField('电子邮件', blank=True, null=True) - body = models.TextField('正文') + body = models.TextField('正文', max_length=300) created_time = models.DateTimeField('创建时间', auto_now_add=True) last_mod_time = models.DateTimeField('修改时间', auto_now=True) author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='作者', on_delete=models.CASCADE) @@ -22,5 +24,38 @@ class Comment(models.Model): verbose_name = "评论" verbose_name_plural = verbose_name + def save(self, *args, **kwargs): + super().save(*args, **kwargs) + subject = '感谢您发表的评论' + site = Site.objects.get_current().domain + article_url = "https://{site}{path}".format(site=site, path=self.article.get_absolute_url()) + html_content = """ +
非常感谢您在本站发表评论
+ 您可以访问 + %s + 来查看您的评论, + 再次感谢您! +
{{ comment_count }} 条回复
+ {% comment %}{{ comment_count }} 条回复
{% endcomment %}- 评论{{ comment_count }}
- - 引用0
+ {% comment %}- 引用0
{% endcomment %}
{% if article_comments %}