Skip to content

Commit

Permalink
feat: Add admin page features
Browse files Browse the repository at this point in the history
resolved #28

- 필터, 리스트 디스플레이, 데이터 필드 등 수정
- 관리자 페이지 템플릿 변경 기능 추가
  • Loading branch information
devpla committed Aug 26, 2021
1 parent 38b5812 commit 67bc56b
Show file tree
Hide file tree
Showing 8 changed files with 88 additions and 3 deletions.
Binary file modified mysite/mysite/__pycache__/settings.cpython-39.pyc
Binary file not shown.
2 changes: 1 addition & 1 deletion mysite/mysite/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'DIRS': [BASE_DIR / 'templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
Expand Down
Binary file modified mysite/polls/__pycache__/admin.cpython-39.pyc
Binary file not shown.
Binary file modified mysite/polls/__pycache__/models.cpython-39.pyc
Binary file not shown.
23 changes: 21 additions & 2 deletions mysite/polls/admin.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,23 @@
from django.contrib import admin
from .models import Question

admin.site.register(Question)
from .models import Choice, Question


class ChoiceInline(admin.TabularInline):
model = Choice
extra = 3


class QuestionAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['question_text']}),
('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
]
inlines = [ChoiceInline]
list_display = ('question_text', 'pub_date', 'was_published_recently')
list_filter = ['pub_date']
search_fields = ['question_text']


admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
7 changes: 7 additions & 0 deletions mysite/polls/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from django.db import models
from django.utils import timezone
from django.contrib import admin


class Question(models.Model):
Expand All @@ -11,6 +12,12 @@ class Question(models.Model):
def __str__(self):
return self.question_text

@admin.display(
boolean=True,
ordering='pub_date',
description='Published recently?',
)

# def was_published_recently(self):
# return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
def was_published_recently(self):
Expand Down
9 changes: 9 additions & 0 deletions mysite/polls/templates/admin/base_site.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{% extends "admin/base.html" %}

{% block title %}{% if subtitle %}{{ subtitle }} | {% endif %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %}

{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">Administration</a></h1>
{% endblock %}

{% block nav-global %}{% endblock %}
50 changes: 50 additions & 0 deletions mysite/polls/templates/admin/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{% extends "admin/base_site.html" %}
{% load i18n static %}

{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/dashboard.css" %}">{% endblock %}

{% block coltype %}colMS{% endblock %}

{% block bodyclass %}{{ block.super }} dashboard{% endblock %}

{% block breadcrumbs %}{% endblock %}

{% block nav-sidebar %}{% endblock %}

{% block content %}
<div id="content-main">
{% include "admin/app_list.html" with app_list=app_list show_changelinks=True %}
</div>
{% endblock %}

{% block sidebar %}
<div id="content-related">
<div class="module" id="recent-actions-module">
<h2>{% translate 'Recent actions' %}</h2>
<h3>{% translate 'My actions' %}</h3>
{% load log %}
{% get_admin_log 10 as admin_log for_user user %}
{% if not admin_log %}
<p>{% translate 'None available' %}</p>
{% else %}
<ul class="actionlist">
{% for entry in admin_log %}
<li class="{% if entry.is_addition %}addlink{% endif %}{% if entry.is_change %}changelink{% endif %}{% if entry.is_deletion %}deletelink{% endif %}">
{% if entry.is_deletion or not entry.get_admin_url %}
{{ entry.object_repr }}
{% else %}
<a href="{{ entry.get_admin_url }}">{{ entry.object_repr }}</a>
{% endif %}
<br>
{% if entry.content_type %}
<span class="mini quiet">{% filter capfirst %}{{ entry.content_type.name }}{% endfilter %}</span>
{% else %}
<span class="mini quiet">{% translate 'Unknown content' %}</span>
{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
</div>
</div>
{% endblock %}

0 comments on commit 67bc56b

Please sign in to comment.