From 303f1e8bffae9280a501713d5646c9806ed58fe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BD=A6=E4=BA=AE=E4=BA=AE?= Date: Sat, 3 Dec 2016 16:28:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- accounts/views.py | 23 +++++++++++++++++++++-- blog/models.py | 6 +++--- blog/templatetags/blog_tags.py | 6 ++++-- blog/views.py | 5 +++-- templates/blog/articledetail.html | 3 +-- templates/blog/index.html | 2 +- templates/blog/tags/sidebar.html | 17 ++++++++++++++++- 7 files changed, 49 insertions(+), 13 deletions(-) diff --git a/accounts/views.py b/accounts/views.py index ead2099..f29e8cb 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -1,14 +1,19 @@ from django.shortcuts import render from django.contrib.auth.views import login -from .forms import RegisterForm,LoginForm +from .forms import RegisterForm, LoginForm +from django.contrib.auth import authenticate from django.views.generic.edit import FormView from django.contrib.auth import get_user_model from django.http import HttpResponseRedirect 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 # Create your views here. + class RegisterView(FormView): form_class = RegisterForm template_name = 'account/registration_form.html' @@ -20,6 +25,20 @@ class RegisterView(FormView): return HttpResponseRedirect('/') + class LoginView(FormView): - form_class =LoginForm + form_class = LoginForm template_name = 'account/login.html' + + def form_valid(self, form): + form = AuthenticationForm(data=self.request.POST, request=self.request) + + if form.is_valid(): + # login(self.request, form.get_user()) + auth.login(self.request, form.get_user()) + + return HttpResponseRedirect('/') + else: + return self.render_to_response({ + 'form': form + }) diff --git a/blog/models.py b/blog/models.py index aee8478..5f5f19f 100644 --- a/blog/models.py +++ b/blog/models.py @@ -23,14 +23,14 @@ class Article(models.Model): help_text="不指定发布时间则视为草稿,可以指定未来时间,到时将自动发布。") status = models.CharField('文章状态', max_length=1, choices=STATUS_CHOICES, default='o') comment_status = models.CharField('评论状态', max_length=1, choices=COMMENT_STATUS) - summary = models.CharField('摘要', max_length=200, blank=True, help_text="可选,若为空将摘取正文的前300个字符。") + # summary = models.CharField('摘要', max_length=200, blank=True, help_text="可选,若为空将摘取正文的前300个字符。") views = models.PositiveIntegerField('浏览量', default=0) author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='作者', on_delete=models.CASCADE) category = models.ForeignKey('Category', verbose_name='分类', on_delete=models.CASCADE) tags = models.ManyToManyField('Tag', verbose_name='标签集合', blank=True) - slug = models.SlugField(default='no-slug', max_length=60, blank=True) + slug = models.SlugField(default='no-slug', max_length=10, blank=True) def __str__(self): return self.title @@ -63,7 +63,7 @@ class Article(models.Model): return names def save(self, *args, **kwargs): - self.summary = self.summary or self.body[:settings.ARTICLE_SUB_LENGTH] + # self.summary = self.summary or self.body[:settings.ARTICLE_SUB_LENGTH] if not self.slug or self.slug == 'no-slug' or not self.id: # Only set the slug when the object is created. self.slug = slugify(self.title) diff --git a/blog/templatetags/blog_tags.py b/blog/templatetags/blog_tags.py index 477703f..fc92e54 100644 --- a/blog/templatetags/blog_tags.py +++ b/blog/templatetags/blog_tags.py @@ -113,11 +113,12 @@ def load_articletags(article): @register.inclusion_tag('blog/tags/sidebar.html') -def load_sidebar(): +def load_sidebar(user): """ 加载侧边栏 :return: """ + recent_articles = Article.objects.filter(status='p')[:settings.SIDEBAR_ARTICLE_COUNT] sidebar_categorys = Category.objects.all() most_read_articles = Article.objects.filter(status='p').order_by('-views')[:settings.SIDEBAR_ARTICLE_COUNT] @@ -131,7 +132,8 @@ def load_sidebar(): 'most_read_articles': most_read_articles, 'article_dates': dates, 'sidabar_links': links, - 'sidebar_comments': commment_list + 'sidebar_comments': commment_list, + 'user': user } diff --git a/blog/views.py b/blog/views.py index a49fc7f..afe5610 100644 --- a/blog/views.py +++ b/blog/views.py @@ -60,8 +60,9 @@ class ArticleDetailView(DetailView): return None comment_form = CommentForm() + u = self.request.user - if self.request.user.is_authenticated(): + if self.request.user.is_authenticated: comment_form.fields.update({ 'email': forms.CharField(widget=forms.HiddenInput()), 'name': forms.CharField(widget=forms.HiddenInput()), @@ -158,6 +159,6 @@ class TagDetailView(ArticleListView): def test(requests): post = Article.objects.all() for p in post: - #p.views += 1 + # p.views += 1 p.summary = p.body[:settings.ARTICLE_SUB_LENGTH] p.save() diff --git a/templates/blog/articledetail.html b/templates/blog/articledetail.html index 1466bec..d1fb276 100755 --- a/templates/blog/articledetail.html +++ b/templates/blog/articledetail.html @@ -7,7 +7,6 @@ {% load_article_detail article False %} -