Skip to content

Commit

Permalink
实现visableSetting
Browse files Browse the repository at this point in the history
  • Loading branch information
HenryJi529 committed May 1, 2023
1 parent 7954537 commit a9fc379
Show file tree
Hide file tree
Showing 6 changed files with 82 additions and 3 deletions.
9 changes: 8 additions & 1 deletion Morningstar/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@
from .models import User


from .models import VisiableSetting

@admin.register(VisiableSetting)
class VisiableSettingAdmin(admin.ModelAdmin):
list_display = ('key', 'value')
search_fields = ('key',)


class UserResource(resources.ModelResource):
username = Field(attribute='username', column_name='用户名')
password = Field(attribute='password', column_name='密码')
Expand All @@ -33,5 +41,4 @@ class UserAdmin(ImportExportModelAdmin):
'is_active', 'is_superuser', 'last_login', 'date_joined')
# admin.site.register(User, UserAdmin)


admin.site.site_header = "项目后台"
21 changes: 21 additions & 0 deletions Morningstar/migrations/0002_visiablesetting.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Generated by Django 4.1.7 on 2023-05-01 09:49

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('Morningstar', '0001_initial'),
]

operations = [
migrations.CreateModel(
name='VisiableSetting',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('key', models.CharField(choices=[('lover', 'lover')], max_length=255, unique=True)),
('value', models.BooleanField()),
],
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Generated by Django 4.1.7 on 2023-05-01 10:05

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('Morningstar', '0002_visiablesetting'),
]

operations = [
migrations.AlterModelOptions(
name='visiablesetting',
options={'verbose_name': '显示', 'verbose_name_plural': '显示'},
),
migrations.AlterField(
model_name='visiablesetting',
name='value',
field=models.BooleanField(default=True),
),
]
16 changes: 16 additions & 0 deletions Morningstar/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,19 @@ def save(self, *args, **kwargs):
if not self.nickname:
self.nickname = get_random_nickname()
super().save(*args, **kwargs)


class VisiableSetting(models.Model):
CHOICES = (
'lover',
)

key = models.CharField(max_length=255, unique=True, choices=[(val, val) for val in CHOICES])
value = models.BooleanField(default=True)

def __str__(self):
return self.key

class Meta:
verbose_name = "显示"
verbose_name_plural = verbose_name
3 changes: 3 additions & 0 deletions apps/blog/templates/blog/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -405,9 +405,12 @@ <h3 class="text-4xl font-bold text-center">本站服务</h3>
<div class="flex justify-center p-2" id="toggleThemeButton" title="模式">
<i class="fa-solid text-2xl" id="themeIcon"></i>
</div>
{% show_lover as isShowLover %}
{% if isShowLover %}
<div class="flex justify-center p-2" id="loverButton" title="爱人">
<a href="{% url 'lover:index' %}" target="_blank" class="text-2xl fa-solid fa-heart"></a>
</div>
{% endif %}
<div class="flex justify-center p-2" id="bookButton" title="书单">
<a href="{% url 'book:index' %}" target="_blank"
class="text-2xl fa-solid fa-book-atlas"></a>
Expand Down
14 changes: 12 additions & 2 deletions apps/blog/templatetags/blog_extras.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
from django import template

from ..models import Post, Category, Tag
from django.db.models.aggregates import Count, Max
from Morningstar.models import VisiableSetting
from ..models import Post, Category, Tag


register = template.Library()


Expand Down Expand Up @@ -54,3 +56,11 @@ def show_hot_posts(context,num=5):
@register.inclusion_tag('blog/inclusions/_other_links.html', takes_context=False)
def show_other_links():
pass


@register.simple_tag(takes_context=False)
def show_lover():
try:
return VisiableSetting.objects.get(key='lover').value
except VisiableSetting.DoesNotExist:
return True

0 comments on commit a9fc379

Please sign in to comment.