- 전체
- Python 일반
- Python 수학
- Python 그래픽
- Python 자료구조
- Python 인공지능
- Python 인터넷
- Python SAGE
- wxPython
- TkInter
- iPython
- wxPython
- pyQT
- Jython
- django
- flask
- blender python scripting
- python for minecraft
- Python 데이터 분석
- Python RPA
- cython
- PyCharm
- pySide
- kivy (python)
django PyCharm과 함께 DJango와 RestFramework를 활용하여 간단한 게시판 만들기(4)
2016.08.04 22:09
PyCharm과 함께 DJango와 RestFramework를 활용하여 간단한 게시판 만들기(4)
간만에 작성하는 포스팅 입니다! 계속 여유 시간이 잘 나지 않아서 계속 포스팅이 늦어만 지네요…ㅠㅠ 그래서 한 포스팅에 들어가는 양을 줄이고, 조금 자주 올릴까… 란 생각도 드네요. 그래서 오늘 주제를 한번 볼까요?
– 내용 정리 하기
달랑 하나 뿐이지만….. 바로 시작해 볼까요?
정리하기
다시 오랜만에 하는 개발이니…. 정리부터 하고 시작해 보겠습니다. 저희가 만드는 board 프로젝트의 URL 부터 정리해 볼까요?
/admin – Django 가 제공하는 admin 사이트 입니다. 이는 board 프로젝트 폴더 내에 urls.py 파일에 정의되어져 있습니다.
/board – 저희가 작업하고 있는 실제 내용들이 있는 곳 입니다. post_service 앱 안에 있는 urls.py 파일을 포함 시키고 있죠./board/ – post_service 앱 안에 있는 urls.py 에 정의되어 있으며, post_list 라는 함수 기반 View 에 연결되어져 있습니다. post_list.html 파일을 템플릿으로 사용하고 있습니다.
/board/login/ – post_service 앱 안에 있는 urls.py 에 정의되어 있으며, login 라는 함수 기반 View 에 연결되어져 있습니다. login_form.html 파일을 템플릿으로 사용하고 있습니다.
/board/login/validate/ – post_service 앱 안에 있는 urls.py 에 정의되어 있으며, login_validate 라는 함수 기반 View 에 연결되어져 있습니다. 로그인 인증을 처리하고 리다이렉트 하는 기능을 수행합니다.
즉, 다시 정리하면 아래의 총 5가지 URL을 가지고 있다는 말과 같습니다.
/admin
/board
/board/
/board/login/
/board/login/validate/
오늘은 회원 가입 기능을 만들려고 합니다. 저는 2개의 URL을 추가로 만들 예정이고, 이는 다음과 같습니다.
/user/join/ – 사용자가 가입(join) 하는 것을 의미하고자 합니다.
/user/join/validate/ – 사용자 가입에 대한 검증(Validation) 절차를 의미하고자 합니다.
그리고, 위 의미와 같게 하기 위해 기존의 URL도 조금 고치려고 합니다.
/board/login/ /user/login/
/board/login/validate/ /user/login/validate/
그리고 이 의미를 명확히 하기 위해, 저는 새로운 앱을 하나 만들어서 진행할 것이고, 이 앱의 이름은 user_manager 라고 이름 지으려고 합니다. 자, 그럼 방금 한 이야기 대로 한번 진행해 볼까요?
새 앱 만들기
Django 에서 App 은 ‘프로젝트에서 관리되고 수행되는 기능의 묶음’ 이라고 정의하고 있습니다. 다시 말해, 기능 단위로 묶여진 하나의 그룹 또는 이름이라고 보시면 됩니다. 저는 하나의 ‘서비스’ 단위로 앱을 구분하고, 이를 펼치는 편 입니다. 활용 방법은 무궁무진하니, 편한 방법으로 사용하시면 되며, 일단 앱을 하나 만들어 봅시다. 위에서 잠시 이야기 한대로, 저는 user_manager 라는 앱을 만들어서 기능을 분리 시키려고 합니다. Django 에서는 새로운 앱을 만드는 명령으로 startapp 이라는 명령을 사용 합니다.
python manage.py startapp [앱 이름]
위 가 공식 방법이고, 이 포스팅은 PyCharm을 참고해서 사용하니 아래와 같이 Ctrl + Alt + R 버튼을 눌러서 명령을 내려 봅시다.
이제 해야 할 일은 settings.py 에 INSTALLED_APP 을 수정하는 일이 첫 번째이고, 그 다음이 URL을 변경하는 작업 입니다. 먼저 settings.py 파일을 열어 봅시다.
그리고 이제, board 프로젝트의 urls.py 파일을 수정하여 봅시다.
마치며…
한 포스팅이 너무 길어지는 경향이 짙고, 너무 많은 내용을 담다 보니 소실되는 내용도 많고 / 짧아지는 설명도 많다는 걸 느꼈습니다. 조금 포스팅 내용들을 정리하고, 어떤 순서로 진행할지는 계속 고민해 봐야 겠지만… 양을 줄이고 / 질을 높이는 방향으로 생각하고 있습니다. 다음 포스팅에는 ‘회원 가입하기’ 에 대해서 알아 볼 것이고, 4월 4일 오후 쯤에 포스팅 하고자 합니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.

