당신은 멋쟁이, 우리는 장고쟁이~

0%

Todo List 어드민 수정하기


지난 포스팅에서, 모델이 잘 작동하는것을 확인 해 보았습니다.


하지만, 어드민 페이지에서 todo 를 추가할때 뭔가 아쉬운점이 있습니다.


분명히, Todo 에는 연관된 이미지도 파일도 올라갈수 있어야 하는데.


어드민에 등록되어 잇는 Todo 는, 아주 기본적인 필드들만 가진 TodoList 를 생성할수 있습니다.




TodoList 를 생성할때,

이미지와 파일도 추가할수 있게 어드민에 등록해 보겠습니다.


더 읽어보기 »

Todo List 모델 확인하기



지난 포스팅에 작성했던 모델이 잘 작동하는지 확인을 해보아야 겠습니다.


어드민을 통해 확인을 진행 해보려 합니다.


어드민에 todo 앱을 등록해 주는데서 부터 시작해 봅니다.


어드민 페이지에 todo 앱 등록하기


더 읽어보기 »

프로젝트 생성하기


프로젝트 폴더에서, 아래 터미널 명령어를 실행하여, todo list 프로젝트 설정 폴더를 생성해 줍니다.


1
django-admin startproject config .

아래와 같은 구조가 나오면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
 ~/mini_projects/todolist   master  django-admin startproject config .
~/mini_projects/todolist   master  ls
config manage.py requirements.txt
~/mini_projects/todolist   master  tree
.
├── config
│ ├── asgi.py
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
└── requirements.txt

프로젝트 설정 폴더가 잘 생성되었으면, 앱을 생성해 줍니다.


프로젝트 앱 생성하기


todo 앱을 생성하여,

todo list 의 등록, 관리, 삭제를 수행하는 어플리케이션을 만들것입니다.


아래 명령어를 실행하여, 프로젝트 폴더안에 todo 라는 앱을 만들어 줍시다.


1
python manage.py startapp todo


생성후의 디렉토리 구조는 아래와 같습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.
├── config
│ ├── asgi.py
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── requirements.txt
└── todo
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py


마치며..


프로젝트와 앱이 생성되었으니,

이제 개발을 위한 모든 준비가 완료 되었습니다.

미니프로젝트 시작


간단한 todolist 프로젝트를 진행하며,


이제까지 공부한 내용을 복습도 하고, 그동안 구현하지 못했던것들도 찾으면서 구현해 보려 합니다.


내가 할일을 생성하고, 업데이트하고, 삭제하는, Todolist 사이트를 만들어 봅니다.


개발 개요


개발 정보 디테일
python version 3.8.0
os ubuntu18.04
django version 3.06
CSS Framework Bulma
개발 툴 visual studio code
배포 AWS
데이터베이스 sqlite3 혹은 postgreSQL

  • 개발내역은, 프로젝트의 진행 상황과 숙련도에 따라서 달라질수 있음.

더 읽어보기 »

admin 인덱스 페이지 꾸미기


이전 포스팅과 비슷하게, Django 의 admin 인덱스 페이지를 고치고 싶어질지 모릅니다.


기본값으로, 인덱스 페이지에는, admin 어플리케이션과 함께


INSTALLED_APPS 에 등록된 모든 앱들을 출력합니다.


레이아웃에 큰 변화를 주고 싶어질지도 모릅니다. 인덱스 페이지는 아마 가장 중요한 어드민 페이지중에 하나일것이고,


사용하기 쉬어야 합니다.


수정해야할 템플릿은, admin/index.html 입니다.

admin/base_site.html 파일과 같은 방식으로,

프로젝트 폴더내에, templates/admin 으로 복사해 옵니다.



1
2
 dhkang  ~/.pyenv/versions/3.7.4/envs/django-tutorial/lib/python3.7/site-packages/django/contrib/admin/templates/admin   master  
cp index.html ~/django_tutorial/mysite/templates/admin


이 파일을 수정하면, app_list 라는 템플릿 변수를 사용하는것을 볼수 있습니다.


이 변수는 설치된 모든 Django app 을 포함하고 있습니다. 이것을 사용하기 보다는, 객체 특화된 어드민 페이지를 하드코드된 링크들을 사용해서 어드민 페이지를 꾸밀수 있습니다.



What’s next?



초심자를 위한 튜토리얼은 여기서 끝입니다.


python 패키지와 어떻게 이 polls 앱을 재사용 가능한 앱으로 만들지에 대해서 배우고 싶다면,


심화과정 튜토리얼 : 재사용가능한 앱 만들기를 보시면 됩니다.



마치며..



첫번째 Django 앱 만들기 기본 튜토리얼이 끝났습니다.

첫번째 튜토리얼인데도 아직도 이해가 안가는 부분이 많습니다.


다시 한번 또 리뷰하면서 보면, 더 이해가 많아지겠죠;;; 당분간 reusable app 만들기는 건들지 않고.

실력이 더 쌓이면 건들 생각입니다.

admin 모양과 느낌 꾸미기


확실히 django administration 을 어디믄 페이지 상단에 가지는것은 좋아보이지 않습니다.


그저 따분한 타이틀 텍스트 같아 보여서 더더욱이 안좋아 보이고, 지루해 보입니다.



Django 의 템플릿 시스템을 사용하여 바꿀수 있습니다.


Django admin 은 Django 에 의해서 동작하고, 어드민 인터페이스는 Django 의 자체 템플릿 시스템을 사용합니다.

더 읽어보기 »

어드민 변경메뉴 목록 꾸미기


현재 Question 어드민 페이지는 좋아 보입니다.


change list 페이지를 변경해 보도록 합시다. change list 페이지는 시스템에 있는 모든 질문들을 출력합니다.




기본값으로, Django 는 각 객체의 str() 을 출력해 줍니다.


더 읽어보기 »

관련된 객체 추가하기



Question 은 admin 페이지에 등록이 되었습니다.

하지만, Question 은 다수의 Choices 들을 가지고 있고, 이것은 어드민 페이지에 아직 표시가 되지 않습니다.



아직은요,..



Question 이 가진 Choices 들을 어드민에 표시하기 위해서는 2가지 해결 방법이 존재합니다.


더 읽어보기 »