在模型的选择字段中使用Django提供的枚举类型

sh_branch
hongweipeng 6 years ago
parent 6d6cac0f87
commit ea769dfa44

@ -261,11 +261,11 @@ def save_user_avatar(url):
def delete_sidebar_cache(username):
from django.core.cache.utils import make_template_fragment_key
from blog.models import LINK_SHOW_TYPE
from blog.models import LinkShowType
keys = (
make_template_fragment_key(
'sidebar', [
username + x[0]]) for x in LINK_SHOW_TYPE)
username + x[0]]) for x in LinkShowType.choices)
for k in keys:
logger.info('delete sidebar key:' + k)
cache.delete(k)

@ -14,13 +14,13 @@ from mdeditor.fields import MDTextField
logger = logging.getLogger(__name__)
LINK_SHOW_TYPE = (
('i', '首页'),
('l', '列表页'),
('p', '文章页面'),
('a', '全站'),
('s', '友情链接页面'),
)
class LinkShowType(models.TextChoices):
I = ('i', '首页')
L = ('l', '列表页')
P = ('p', '文章页面')
A = ('a', '全站')
S = ('s', '友情链接页面')
class BaseModel(models.Model):
@ -258,8 +258,8 @@ class Links(models.Model):
show_type = models.CharField(
'显示类型',
max_length=1,
choices=LINK_SHOW_TYPE,
default='i')
choices=LinkShowType.choices,
default=LinkShowType.I)
created_time = models.DateTimeField('创建时间', default=now)
last_mod_time = models.DateTimeField('修改时间', default=now)

@ -20,7 +20,7 @@ from django.template.defaultfilters import stringfilter
from django.utils.safestring import mark_safe
import random
from django.urls import reverse
from blog.models import Article, Category, Tag, Links, SideBar
from blog.models import Article, Category, Tag, Links, SideBar, LinkShowType
from django.utils.encoding import force_text
from django.shortcuts import get_object_or_404
import hashlib
@ -144,7 +144,7 @@ def load_sidebar(user, linktype):
'-views')[:blogsetting.sidebar_article_count]
dates = Article.objects.datetimes('created_time', 'month', order='DESC')
links = Links.objects.filter(is_enable=True).filter(
Q(show_type=str(linktype)) | Q(show_type='a'))
Q(show_type=str(linktype)) | Q(show_type=LinkShowType.A))
commment_list = Comment.objects.filter(is_enable=True).order_by(
'-id')[:blogsetting.sidebar_comment_count]
# 标签云 计算字体大小

@ -12,7 +12,7 @@ from django.views.decorators.csrf import csrf_exempt
from django.contrib.auth.decorators import login_required
from DjangoBlog.utils import cache, get_md5, get_blog_setting
from django.shortcuts import get_object_or_404
from blog.models import Article, Category, Tag, Links
from blog.models import Article, Category, Tag, Links, LinkShowType
from comments.forms import CommentForm
import logging
@ -30,7 +30,7 @@ class ArticleListView(ListView):
page_type = ''
paginate_by = settings.PAGINATE_BY
page_kwarg = 'page'
link_type = 'l'
link_type = LinkShowType.L
def get_view_cache_key(self):
return self.request.get['pages']
@ -89,7 +89,7 @@ class IndexView(ArticleListView):
首页
'''
# 友情链接类型
link_type = 'i'
link_type = LinkShowType.I
def get_queryset_data(self):
article_list = Article.objects.filter(type='a', status='p')

Loading…
Cancel
Save