From af57b56e6983a6fd8c21532eb2e0585e43b295ee Mon Sep 17 00:00:00 2001 From: icurfer Date: Sat, 25 Jan 2025 18:02:49 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=B5=EC=A7=80=EC=82=AC=ED=95=AD=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20=EA=B8=B0=EB=8A=A5=20=EB=B6=84=EB=A6=AC=20=EB=B0=8F?= =?UTF-8?q?=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-1.png | Bin 0 -> 138561 bytes README.md | 52 ++++++++++++- blog/migrations/0006_alter_post_author.py | 21 +++++ blog/models.py | 11 ++- blog/templates/blog/create_post copy.html | 39 ---------- blog/templates/blog/create_post.html | 30 +++++++- .../templates/blog/create_post_default.html | 14 +++- blog/templates/blog/post_detail.html | 47 +++++++++++- blog/templates/blog/post_detail_default.html | 31 ++++++++ blog/templates/blog/post_list.html | 2 +- blog/templates/blog/update_post.html | 58 ++++++++++++++ blog/urls.py | 2 + blog/views.py | 47 ++++++++++-- board_notice/__init__.py | 0 board_notice/admin.py | 4 + board_notice/apps.py | 6 ++ board_notice/forms.py | 11 +++ board_notice/migrations/0001_initial.py | 28 +++++++ board_notice/migrations/__init__.py | 0 board_notice/models.py | 27 +++++++ .../templates/board_notice/create_notice.html | 72 ++++++++++++++++++ .../templates/board_notice/notice_detail.html | 56 ++++++++++++++ .../templates/board_notice}/notice_list.html | 18 +++-- .../templates/board_notice/update_notice.html | 58 ++++++++++++++ board_notice/tests.py | 3 + board_notice/urls.py | 12 +++ board_notice/views.py | 62 +++++++++++++++ butler/admin.py | 3 +- butler/forms.py | 10 --- ...rename_desc_ipmanagementrecord_contents.py | 18 +++++ butler/models.py | 21 +---- butler/templates/butler/landing.html | 68 ++++++++--------- butler/templates/butler/notice_detail.html | 19 ----- butler/urls.py | 6 +- butler/views.py | 36 +-------- butler_ddochi/settings.py | 1 + butler_ddochi/urls.py | 3 +- version | 2 +- 38 files changed, 710 insertions(+), 188 deletions(-) create mode 100644 README-1.png create mode 100644 blog/migrations/0006_alter_post_author.py delete mode 100644 blog/templates/blog/create_post copy.html rename butler/templates/butler/create_notice.html => blog/templates/blog/create_post_default.html (79%) create mode 100644 blog/templates/blog/post_detail_default.html create mode 100644 blog/templates/blog/update_post.html create mode 100644 board_notice/__init__.py create mode 100644 board_notice/admin.py create mode 100644 board_notice/apps.py create mode 100644 board_notice/forms.py create mode 100644 board_notice/migrations/0001_initial.py create mode 100644 board_notice/migrations/__init__.py create mode 100644 board_notice/models.py create mode 100644 board_notice/templates/board_notice/create_notice.html create mode 100644 board_notice/templates/board_notice/notice_detail.html rename {butler/templates/butler => board_notice/templates/board_notice}/notice_list.html (69%) create mode 100644 board_notice/templates/board_notice/update_notice.html create mode 100644 board_notice/tests.py create mode 100644 board_notice/urls.py create mode 100644 board_notice/views.py create mode 100644 butler/migrations/0003_rename_desc_ipmanagementrecord_contents.py delete mode 100644 butler/templates/butler/notice_detail.html diff --git a/README-1.png b/README-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f0fad41283075674221210d21eb6ce2fa8bbf4 GIT binary patch literal 138561 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

A8LeD8( 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%0D9GA^^th@|Kbm3Jb;Dc7FCEc<`cJ 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index fb06083..8a0a895 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,50 @@ # butler_ddochi -### dev_0.0.21 -사이드메뉴에 unity 게임 등록. -* 쿠버네티스에 배포된 웹 게임 링크 등록. -* 쿠버네티스 클러스터에 배포된 웹 게임 및 istio 설정 필요. \ No newline at end of file +butler_ddochi는 개인 테스트 환경 관리를 위한 목적으로 만들어지고 있습니다. +* 클라우드 네이티브 환경을 이용한 서비스 환경 관리 +* 쿠버네티스 관리 +* 문의는 icurfer@gmail.com으로 부탁드립니다. + +> 문서가 미흡하여 설치 및 구성이 어려울 수 있습니다. + +--- + +## 목차 + +* [사전 구성요소 선택](#사전-구성-컴포넌트(선택)) +* [butler_ddochi설치](#butler_ddochi설치) + +### 사전 구성 컴포넌트(필수) +동작을 위한 최소한의 필수 컴포넌트입니다. +* MariaDB +* MinIO + +### 사전 구성 컴포넌트(선택) +아래 컴포넌트들이 배포 되어있다면, 로그인 후 Edit Profile을 이용하여 웹콘솔 링크를 입력하여 사용합니다. +![alt text](README-1.png) +* Gitea +* Harbor +* ArgoCD +* CodeServer +* Rancher +* Prometheus +* OpenSearch +* Kiali +--- + +### butler_ddochi설치 +docker 또는 kubernetes를 이용하여 배포 합니다. + +> docker pull harbor.icurfer.com/py_prj/butler_ddochi:${version} + +필수 환경변수 +* DEBUG=0 +* SQL_ENGINE='django.db.backends.mysql' +* SQL_HOST='DB_SVR_address' +* SQL_USER='DB_SVR_user' +* SQL_PASSWORD='DB_SVR_user_password' +* SQL_DATABASE='DB_SVR_database' +* SQL_PORT='DB_SVR_portnumber' +* CSRF_TRUSTED_ORIGINS=https://www.example.com,https://butler.example.com,https://butler.example.com:8000 +* MM_URL=https://mm.example.com/hooks/${hash} +* (기능 미구현)MINIO_URL=https://minio.example.com/ \ No newline at end of file diff --git a/blog/migrations/0006_alter_post_author.py b/blog/migrations/0006_alter_post_author.py new file mode 100644 index 0000000..6da1f62 --- /dev/null +++ b/blog/migrations/0006_alter_post_author.py @@ -0,0 +1,21 @@ +# Generated by Django 4.2.14 on 2025-01-25 14:39 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('blog', '0005_rename_content_post_contents'), + ] + + operations = [ + migrations.AlterField( + model_name='post', + name='author', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='blog_posts', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/blog/models.py b/blog/models.py index bd6e088..eb0d7d7 100644 --- a/blog/models.py +++ b/blog/models.py @@ -1,5 +1,6 @@ from django.db import models from django.conf import settings +from django.urls import reverse from markdown_it import MarkdownIt from taggit.managers import TaggableManager @@ -10,12 +11,20 @@ class Post(models.Model): created_at = models.DateTimeField(auto_now_add=True) # 작성일 updated_at = models.DateTimeField(auto_now=True) # 수정일 tags = TaggableManager() - author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE) + author = models.ForeignKey( + settings.AUTH_USER_MODEL, + null=True, + on_delete=models.CASCADE, + related_name='blog_posts' + ) def render_markdown(self): """마크다운을 HTML로 변환""" md = MarkdownIt() return md.render(self.contents) + + def get_absolute_url(self): + return reverse('blog:post_detail', args=[str(self.pk)]) def __str__(self): return self.title \ No newline at end of file diff --git a/blog/templates/blog/create_post copy.html b/blog/templates/blog/create_post copy.html deleted file mode 100644 index 57f3ee3..0000000 --- a/blog/templates/blog/create_post copy.html +++ /dev/null @@ -1,39 +0,0 @@ -{% extends "components/base.html" %} -{% block title %}Create Post{% endblock %} - -{% block main_area %} -

Create New Post

-
- -
-
- {% csrf_token %} - {{ form.as_p }} - -
-
- - -
-

Preview

-
-
-
- - - - -{% endblock %} diff --git a/blog/templates/blog/create_post.html b/blog/templates/blog/create_post.html index 2d2e43e..e5736cd 100644 --- a/blog/templates/blog/create_post.html +++ b/blog/templates/blog/create_post.html @@ -22,7 +22,7 @@ -

contents

+

Contents

{{ form.contents }} @@ -41,9 +41,22 @@ + + - {% endblock %} +
+{% endblock %} diff --git a/butler/templates/butler/create_notice.html b/blog/templates/blog/create_post_default.html similarity index 79% rename from butler/templates/butler/create_notice.html rename to blog/templates/blog/create_post_default.html index a6d4bde..2d2e43e 100644 --- a/butler/templates/butler/create_notice.html +++ b/blog/templates/blog/create_post_default.html @@ -1,8 +1,8 @@ {% extends "components/base.html" %} -{% block title %}Create Notice{% endblock %} +{% block title %}Create Post{% endblock %} {% block main_area %} -

Create New Notice

+

Create New Post

diff --git a/blog/templates/blog/post_detail.html b/blog/templates/blog/post_detail.html index 8ad9679..ece3dad 100644 --- a/blog/templates/blog/post_detail.html +++ b/blog/templates/blog/post_detail.html @@ -8,8 +8,11 @@
{{ post.summary }}
{% endif %} -
{{ post.created_at }}
- by. {{ post.author | upper }}
+
{{ post.created_at }} +
+ by. + {{ post.author | upper }}
+
{{ post.render_markdown|safe }}
@@ -22,5 +25,43 @@

{% endif %} - Back to List + + {% if request.user == post.author %} +
+ List + Edit +
+ {% csrf_token %} + +
+
+ {% endif %} + + + + + + + + {% endblock %} \ No newline at end of file diff --git a/blog/templates/blog/post_detail_default.html b/blog/templates/blog/post_detail_default.html new file mode 100644 index 0000000..05c6929 --- /dev/null +++ b/blog/templates/blog/post_detail_default.html @@ -0,0 +1,31 @@ +{% extends "components/base.html" %} +{% block title %}Post{% endblock %} + +{% block main_area %} + +

{{ post.title }}

+ {% if post.summary %} +
{{ post.summary }}
+ {% endif %} + +
{{ post.created_at }} +
+ by. + {{ post.author | upper }}
+
+ {{ post.render_markdown|safe }} +
+
+ {% if post.tags.exists %} + + {% for tag in post.tags.all %} + {{ tag }} + {% endfor %} +
+
+ {% endif %} + List + {% if request.user == post.author %} + Edit + {% endif %} +{% endblock %} \ No newline at end of file diff --git a/blog/templates/blog/post_list.html b/blog/templates/blog/post_list.html index 2036063..2dcb66e 100644 --- a/blog/templates/blog/post_list.html +++ b/blog/templates/blog/post_list.html @@ -12,7 +12,7 @@
  • {{ post.title }}

    {{ post.summary }}

    - Read More + Read More
  • {% endfor %} diff --git a/blog/templates/blog/update_post.html b/blog/templates/blog/update_post.html new file mode 100644 index 0000000..ec4adaf --- /dev/null +++ b/blog/templates/blog/update_post.html @@ -0,0 +1,58 @@ +{% extends "components/base.html" %} +{% block title %}Update Post{% endblock %} + +{% block main_area %} +

    Update Post

    +
    +
    +
    +
    + {% csrf_token %} +
    + {{ form.title.label_tag }} + {{ form.title }} +
    +
    + {{ form.summary.label_tag }} + {{ form.summary }} +
    +
    + {{ form.tags.label_tag }} + {{ form.tags }} +
    + + +

    Contents

    +
    + {{ form.contents }} +
    + +
    + + Cancel +
    +
    +
    +
    +
    +
    +
    + + + + +
    +{% endblock %} diff --git a/blog/urls.py b/blog/urls.py index 05da17f..fec8db1 100644 --- a/blog/urls.py +++ b/blog/urls.py @@ -7,4 +7,6 @@ urlpatterns = [ path('', views.post_list, name='post_list'), # 포스트 리스트 path('create/', views.create_post, name='create_post'), # 포스트 작성 path('/', views.post_detail, name='post_detail'), # 포스트 상세 보기 + path('/update/', views.update_post, name='update_post'), # 글 수정 URL + path('/delete/', views.delete_post, name='delete_post'), # 삭제 URL ] \ No newline at end of file diff --git a/blog/views.py b/blog/views.py index 645d927..995be15 100644 --- a/blog/views.py +++ b/blog/views.py @@ -3,6 +3,16 @@ from django.contrib.auth.decorators import login_required from .models import Post from .forms import PostForm +# 게시글 목록 +def post_list(request): + posts = Post.objects.all().order_by('-created_at') + return render(request, 'blog/post_list.html', {'posts': posts}) + +# 게시글 상세 보기 +def post_detail(request, pk): + post = get_object_or_404(Post, pk=pk) + return render(request, 'blog/post_detail.html', {'post': post}) + @login_required def create_post(request): if request.method == 'POST': @@ -17,10 +27,37 @@ def create_post(request): form = PostForm() return render(request, 'blog/create_post.html', {'form': form}) -def post_list(request): - posts = Post.objects.all().order_by('-created_at') - return render(request, 'blog/post_list.html', {'posts': posts}) -def post_detail(request, pk): + +@login_required +def update_post(request, pk): post = get_object_or_404(Post, pk=pk) - return render(request, 'blog/post_detail.html', {'post': post}) + + # 작성자만 수정 가능하도록 권한 검사 + if post.author != request.user: + return redirect('blog:post_list') + + if request.method == 'POST': + form = PostForm(request.POST, instance=post) + if form.is_valid(): + form.save() + return redirect('blog:post_detail', pk=post.pk) + else: + form = PostForm(instance=post) + + return render(request, 'blog/update_post.html', {'form': form, 'post': post}) + +@login_required +def delete_post(request, pk): + post = get_object_or_404(Post, pk=pk) + + # 작성자만 삭제 가능 + if post.author != request.user: + return redirect('blog:post_list') + + # POST 요청일 때 삭제 + if request.method == 'POST': + post.delete() + return redirect('blog:post_list') + + return render(request, 'blog/confirm_delete.html', {'post': post}) \ No newline at end of file diff --git a/board_notice/__init__.py b/board_notice/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/board_notice/admin.py b/board_notice/admin.py new file mode 100644 index 0000000..d69a4af --- /dev/null +++ b/board_notice/admin.py @@ -0,0 +1,4 @@ +from django.contrib import admin +from .models import BoardNotice + +admin.site.register(BoardNotice) diff --git a/board_notice/apps.py b/board_notice/apps.py new file mode 100644 index 0000000..beb3a1c --- /dev/null +++ b/board_notice/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class BoardNoticeConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'board_notice' diff --git a/board_notice/forms.py b/board_notice/forms.py new file mode 100644 index 0000000..954c181 --- /dev/null +++ b/board_notice/forms.py @@ -0,0 +1,11 @@ +from django import forms +from .models import BoardNotice + +class BoardNoticeForm(forms.ModelForm): + class Meta: + model = BoardNotice + fields = ['title', 'contents'] + widgets = { + 'title': forms.TextInput(attrs={'class': 'form-control'}), + 'contents': forms.Textarea(attrs={'class': 'form-control', 'id': 'markdown-editor'}), + } diff --git a/board_notice/migrations/0001_initial.py b/board_notice/migrations/0001_initial.py new file mode 100644 index 0000000..8ef3515 --- /dev/null +++ b/board_notice/migrations/0001_initial.py @@ -0,0 +1,28 @@ +# Generated by Django 4.2.14 on 2025-01-25 14:39 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='BoardNotice', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=200)), + ('contents', models.TextField()), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('updated_at', models.DateTimeField(auto_now=True)), + ('author', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='board_notice', to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/board_notice/migrations/__init__.py b/board_notice/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/board_notice/models.py b/board_notice/models.py new file mode 100644 index 0000000..4841e3d --- /dev/null +++ b/board_notice/models.py @@ -0,0 +1,27 @@ +from django.db import models +from django.conf import settings +from django.urls import reverse +from markdown_it import MarkdownIt + +class BoardNotice(models.Model): + title = models.CharField(max_length=200) # 제목 + contents = models.TextField() # 본문 (마크다운 저장) + created_at = models.DateTimeField(auto_now_add=True) # 작성일 + updated_at = models.DateTimeField(auto_now=True) # 수정일 + author = models.ForeignKey( + settings.AUTH_USER_MODEL, + null=True, + on_delete=models.CASCADE, + related_name='board_notice' + ) + + def render_markdown(self): + """마크다운을 HTML로 변환""" + md = MarkdownIt() + return md.render(self.contents) + + def get_absolute_url(self): + return reverse('board_notice:notice_detail', args=[str(self.pk)]) + + def __str__(self): + return self.title \ No newline at end of file diff --git a/board_notice/templates/board_notice/create_notice.html b/board_notice/templates/board_notice/create_notice.html new file mode 100644 index 0000000..9eb3306 --- /dev/null +++ b/board_notice/templates/board_notice/create_notice.html @@ -0,0 +1,72 @@ +{% extends "components/base.html" %} +{% block title %}Create Notice{% endblock %} + +{% block main_area %} +

    Create New Notice

    +
    +
    +
    +
    + {% csrf_token %} +
    + {{ form.title.label_tag }} + {{ form.title }} +
    + + +

    Contents

    + +
    + {{ form.contents }} +
    + +
    + + Cancel +
    +
    +
    +
    +
    +
    +
    + + + + + + +
    +{% endblock %} diff --git a/board_notice/templates/board_notice/notice_detail.html b/board_notice/templates/board_notice/notice_detail.html new file mode 100644 index 0000000..069c086 --- /dev/null +++ b/board_notice/templates/board_notice/notice_detail.html @@ -0,0 +1,56 @@ +{% extends "components/base.html" %} +{% block title %}Notice{% endblock %} + +{% block main_area %} + +

    {{ notice.title }}

    + +
    {{ notice.created_at }} +
    + by. + {{ notice.author | upper }}
    + +
    + {{ notice.render_markdown|safe }} +
    +
    + + {% if request.user == notice.author %} +
    + List + Edit +
    + {% csrf_token %} + +
    +
    + {% endif %} + + + + + + + + +{% endblock %} \ No newline at end of file diff --git a/butler/templates/butler/notice_list.html b/board_notice/templates/board_notice/notice_list.html similarity index 69% rename from butler/templates/butler/notice_list.html rename to board_notice/templates/board_notice/notice_list.html index e48e3aa..a1ce78b 100644 --- a/butler/templates/butler/notice_list.html +++ b/board_notice/templates/board_notice/notice_list.html @@ -5,27 +5,31 @@ {% block main_area %}

    공지사항 - +

    - {% if records %} + {% if notices %} + - {% for record in records %} + {% for record in notices %} + @@ -36,9 +40,9 @@

    현재 공지사항이 없습니다.

    {% endif %} {% if request.user.is_authenticated %} - - + + {% endif %} {% endblock %} diff --git a/board_notice/templates/board_notice/update_notice.html b/board_notice/templates/board_notice/update_notice.html new file mode 100644 index 0000000..ec4adaf --- /dev/null +++ b/board_notice/templates/board_notice/update_notice.html @@ -0,0 +1,58 @@ +{% extends "components/base.html" %} +{% block title %}Update Post{% endblock %} + +{% block main_area %} +

    Update Post

    +
    +
    +
    +
    + {% csrf_token %} +
    + {{ form.title.label_tag }} + {{ form.title }} +
    +
    + {{ form.summary.label_tag }} + {{ form.summary }} +
    +
    + {{ form.tags.label_tag }} + {{ form.tags }} +
    + + +

    Contents

    +
    + {{ form.contents }} +
    + +
    + + Cancel +
    + +
    +
    +
    +
    +
    + + + + +
    +{% endblock %} diff --git a/board_notice/tests.py b/board_notice/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/board_notice/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/board_notice/urls.py b/board_notice/urls.py new file mode 100644 index 0000000..0ea5fc5 --- /dev/null +++ b/board_notice/urls.py @@ -0,0 +1,12 @@ +from django.urls import path +from . import views + +app_name = 'board_notice' + +urlpatterns = [ + path('', views.notice_list, name='notice_list'), # 포스트 리스트 + path('create/', views.create_notice, name='create_notice'), # 포스트 작성 + path('/', views.notice_detail, name='notice_detail'), # 포스트 상세 보기 + path('/update/', views.update_notice, name='update_notice'), # 글 수정 URL + path('/delete/', views.delete_notice, name='delete_notice'), # 삭제 URL +] \ No newline at end of file diff --git a/board_notice/views.py b/board_notice/views.py new file mode 100644 index 0000000..51b15dc --- /dev/null +++ b/board_notice/views.py @@ -0,0 +1,62 @@ +from django.shortcuts import render, redirect, get_object_or_404 +from django.contrib.auth.decorators import login_required +from .models import BoardNotice +from .forms import BoardNoticeForm + +# 게시글 목록 +def notice_list(request): + notices = BoardNotice.objects.all().order_by('-created_at') + return render(request, 'board_notice/notice_list.html', {'notices': notices}) + +# 게시글 상세 보기 +def notice_detail(request, pk): + notice = get_object_or_404(BoardNotice, pk=pk) + return render(request, 'board_notice/notice_detail.html', {'notice': notice}) + +# 공지사항 게시글 등록 +@login_required +def create_notice(request): + if request.method == 'POST': + form = BoardNoticeForm(request.POST) + if form.is_valid(): + notice = form.save(commit=False) + notice.author = request.user # 작성자 정보 추가 + notice.save() + return redirect('board_notice:notice_list') + else: + form = BoardNoticeForm() + return render(request, 'board_notice/create_notice.html', {'form': form}) + +# 공지사항 게시글 수정 +@login_required +def update_notice(request, pk): + notice = get_object_or_404(BoardNotice, pk=pk) + + # 작성자만 수정 가능하도록 권한 검사 + if notice.author != request.user: + return redirect('board_notice:notice_list') + + if request.method == 'POST': + form = BoardNoticeForm(request.POST, instance=notice) + if form.is_valid(): + form.save() + return redirect('board_notice:notice_detail', pk=notice.pk) + else: + form = BoardNoticeForm(instance=notice) + + return render(request, 'board_notice/update_notice.html', {'form': form, 'notice': notice}) + +# 공지사항 게시글 삭제 +@login_required +def delete_notice(request, pk): + notice = get_object_or_404(BoardNotice, pk=pk) + + # 작성자만 삭제 가능하도록 권한 검사 + if notice.author != request.user: + return redirect('board_notice:notice_list') + + if request.method == 'POST': + notice.delete() + return redirect('board_notice:notice_list') + + return render(request, 'board_notice/confirm_delete.html', {'notice': notice}) diff --git a/butler/admin.py b/butler/admin.py index 5d574bd..8ac0366 100644 --- a/butler/admin.py +++ b/butler/admin.py @@ -1,5 +1,4 @@ from django.contrib import admin -from .models import IPManagementRecord, NoticeBoard +from .models import IPManagementRecord admin.site.register(IPManagementRecord) -admin.site.register(NoticeBoard) diff --git a/butler/forms.py b/butler/forms.py index f0281a1..e79048b 100644 --- a/butler/forms.py +++ b/butler/forms.py @@ -1,11 +1 @@ from django import forms -from .models import NoticeBoard - -class PostForm(forms.ModelForm): - class Meta: - model = NoticeBoard - fields = ['title', 'contents'] - widgets = { - 'title': forms.TextInput(attrs={'class': 'form-control'}), - 'contents': forms.Textarea(attrs={'class': 'form-control', 'id': 'markdown-editor'}), - } diff --git a/butler/migrations/0003_rename_desc_ipmanagementrecord_contents.py b/butler/migrations/0003_rename_desc_ipmanagementrecord_contents.py new file mode 100644 index 0000000..1651174 --- /dev/null +++ b/butler/migrations/0003_rename_desc_ipmanagementrecord_contents.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.14 on 2025-01-25 11:19 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('butler', '0002_noticeboard'), + ] + + operations = [ + migrations.RenameField( + model_name='ipmanagementrecord', + old_name='desc', + new_name='contents', + ), + ] diff --git a/butler/models.py b/butler/models.py index 6e8274b..e0a736d 100644 --- a/butler/models.py +++ b/butler/models.py @@ -7,7 +7,7 @@ class IPManagementRecord(models.Model): network_nm = models.CharField(max_length=100) # NETWORK_NM ip_addrs = models.CharField(max_length=50) # IP_ADDRS svr_nm = models.CharField(max_length=100) # SVR_NM - desc = models.TextField(blank=True, null=True) # DESC + contents = models.TextField(blank=True, null=True) # DESC remark = models.TextField(blank=True, null=True) # REMARK created_at = models.DateTimeField(auto_now_add=True) # 생성 시간 자동 기록 updated_at = models.DateTimeField(auto_now=True) # 수정 시간 자동 기록 @@ -15,21 +15,4 @@ class IPManagementRecord(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE) def __str__(self): - return f'{self.network_nm} {self.ip_addrs} {self.svr_nm} {self.desc}' - - -class NoticeBoard(models.Model): - title = models.CharField(max_length=100) - contents = models.TextField(blank=True, null=True) - - created_at = models.DateTimeField(auto_now_add=True) # 생성 시간 자동 기록 - updated_at = models.DateTimeField(auto_now=True) # 수정 시간 자동 기록 - - author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE) - - def __str__(self): - return f'{self.title} {self.author} {self.created_at}' - - def get_absolute_url(self): - return reverse('butler:notice_detail', args=[str(self.pk)]) - # {{ record.title }} + return f'{self.network_nm} {self.ip_addrs} {self.svr_nm} {self.contents}' \ No newline at end of file diff --git a/butler/templates/butler/landing.html b/butler/templates/butler/landing.html index 67f8c15..af880d3 100644 --- a/butler/templates/butler/landing.html +++ b/butler/templates/butler/landing.html @@ -3,46 +3,46 @@ {% block title %}Landing Page{% endblock %} {% block main_area %} -
    -
    - -
    -

    Latest Notices

    -
    - {% for notice in notices %} -
    -
    -
    -
    {{ notice.title }}
    -

    {{ notice.content|truncatewords:20 }}

    - View Notice +
    +
    + +
    +

    Latest Notices

    +
    + {% for notice in board_notices %} +
    +
    +
    +
    {{ notice.title }}
    +

    {{ notice.contents|truncatechars:50 }}

    + View Notice +
    +
    -
    + {% empty %} +

    No notices available.

    + {% endfor %}
    - {% empty %} -

    No notices available.

    - {% endfor %}
    -
    - -
    -

    Latest Blog Posts

    -
    - {% for post in blog_posts %} -
    -
    -
    -
    {{ post.title }}
    -

    {{ post.summary|truncatewords:20 }}

    - Read More + +
    +

    Latest Blog Posts

    +
    + {% for post in blog_posts %} +
    +
    +
    +
    {{ post.title }}
    +

    {{ post.contents|truncatechars:50 }}

    + Read More +
    +
    -
    + {% empty %} +

    No blog posts available.

    + {% endfor %}
    - {% empty %} -

    No blog posts available.

    - {% endfor %}
    -
    {% endblock %} \ No newline at end of file diff --git a/butler/templates/butler/notice_detail.html b/butler/templates/butler/notice_detail.html deleted file mode 100644 index c6729bb..0000000 --- a/butler/templates/butler/notice_detail.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends "components/base.html" %} - -{% block title %}Notice Detail{% endblock %} - -{% block main_area %} -

    {{ notice.title }}

    -
    -
    - {{ notice.contents|linebreaks }} -
    -
    -

    작성자: - {{ notice.author }}

    -

    작성일: - {{ notice.created_at|date:"Y-m-d H:i" }}

    -

    수정일: - {{ notice.updated_at|date:"Y-m-d H:i" }}

    - Back to Notices -{% endblock %} diff --git a/butler/urls.py b/butler/urls.py index d27a261..2c5c0df 100644 --- a/butler/urls.py +++ b/butler/urls.py @@ -8,9 +8,9 @@ urlpatterns = [ # Landing Page path('', views.LandingPageView.as_view(), name='landing'), # 클래스 기반 뷰(CBV) 호출 - path('notice', views.notice_list, name='notice_list'), - path('create_notice/', views.create_notice, name='create_notice'), # 포스트 작성 - path('notice//', views.notice_detail_view, name='notice_detail'), + # path('notice', views.notice_list, name='notice_list'), + # path('create_notice/', views.create_notice, name='create_notice'), # 포스트 작성 + # path('notice//', views.notice_detail_view, name='notice_detail'), path('ip_mgmt', views.ip_mgmt_view, name='ip_mgmt'), path('ip-mgmt/add/', views.add_ip_record, name='ip_mgmt_add'), # 데이터 추가 경로 path('ip-mgmt/delete/', views.delete_ip_records, name='ip_mgmt_delete'), # 삭제 URL 추가 diff --git a/butler/views.py b/butler/views.py index 926518a..e9d73d8 100644 --- a/butler/views.py +++ b/butler/views.py @@ -4,9 +4,9 @@ from django.views.generic import TemplateView from pathlib import Path import markdown import os -from .models import NoticeBoard, IPManagementRecord +from .models import IPManagementRecord from blog.models import Post -from .forms import PostForm +from board_notice.models import BoardNotice from django.db.models import Q @@ -15,39 +15,11 @@ class LandingPageView(TemplateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) + # context['var'] var를 templates로 전달해서 보여지는 것. context['blog_posts'] = Post.objects.order_by('-created_at')[:3] - context['notices'] = NoticeBoard.objects.order_by('-created_at')[:3] + context['board_notices'] = BoardNotice.objects.order_by('-created_at')[:3] return context -# --- notice --- -@login_required -def create_notice(request): - if request.method == 'POST': - form = PostForm(request.POST) - if form.is_valid(): - post = form.save(commit=False) - post.author = request.user # 작성자 정보 추가 - post.save() - form.save_m2m() - return redirect('butler:notice_list') - else: - form = PostForm() - return render(request, 'butler/create_notice.html', {'form': form}) - -def notice_list(request): - records = NoticeBoard.objects.all() - return render(request, "butler/notice_list.html", {"records": records}) - - -def notice_detail_view(request, pk): - try: - notice = NoticeBoard.objects.get(pk=pk) - except NoticeBoard.DoesNotExist: - return render(request, "404.html") # 선택적으로 에러 처리 - - return render(request, "butler/notice_detail.html", {"notice": notice}) - - # --- ip management --- # def ip_mgmt_view(request): # # records = IPManagementRecord.objects.all() diff --git a/butler_ddochi/settings.py b/butler_ddochi/settings.py index b089e70..b86905c 100644 --- a/butler_ddochi/settings.py +++ b/butler_ddochi/settings.py @@ -41,6 +41,7 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'taggit', # Custom by.icurfer + 'board_notice', 'custom_auth', 'butler', 'blog', diff --git a/butler_ddochi/urls.py b/butler_ddochi/urls.py index a467b51..949e2b3 100644 --- a/butler_ddochi/urls.py +++ b/butler_ddochi/urls.py @@ -24,10 +24,11 @@ urlpatterns = [ path('', include('butler.urls')), path('admin/', admin.site.urls), path('accounts/', include('custom_auth.urls')), # custom_auth URL 추가 + path('notice/', include('board_notice.urls')), + path('blog/', include('blog.urls')), path('nhncloud/', include('nhncloud.urls')), path('nhnc_mgmt/', include('nhnc_mgmt.urls')), path('mm_msg/', include('mm_msg.urls')), - path('blog/', include('blog.urls')), path('ansible_manager/', include('ansible_manager.urls')), ] diff --git a/version b/version index 0225d87..50bcd07 100644 --- a/version +++ b/version @@ -1 +1 @@ -dev_0.0.24 \ No newline at end of file +dev_0.0.25 \ No newline at end of file
    글번호 제목내용 작성자 작성일
    {{ record.pk }} {{ record.title }} + {{ record.contents|truncatechars:50 }} + {{ record.author }} {{ record.created_at|date:"Y-m-d H:i" }}