728x90

IT 417

[Django] Django로 2개이상의 앱을 구축시, 사전에 고려해두는 것이 좋은 부분

( ※ 일본의 한 블로거의 포스팅을 번역한 포스팅입니다. 오역이나 의역이 있을 수 있으며, 틀린 부분에 대해서는 지적해주시면 감사하겠습니다. ) Django를 사용하여 Web앱을 개발하고 있다. 처음부터 동시에 두 개의 어플리케이션 ( 같은 곳에 사용되나, 기능이 거의 다르므로 두 가지로 나누고 있다) 를 구축하고 있다. 그러나 하나를 만든 후 다른 하나를 만들 때 여러가지 걸리는 부분이 있었기 때문에 어떠한 부분에서 곤란을 겪었는지에 대해 써 볼 생각이다. Django는 실제 환경에서 어떻게 동작하는지에 대해 작성하고 있는 포스팅이 생각보다 없는 인상이므로 이 포스팅이 도움이 되었으면 한다. 버전 명칭 버전 Python 3.7.0 Django 2.1.1 샘플 프로젝트로써 django_complex_sa..

IT/WEB 2020.09.15

[Django] Django 개발에 대한 기본 상식

Django에 대한 기본적인 상식없이 당장 주어진 것만 급하게 하다보니 문제 해결에 시간을 너무 잡아먹어서 기본적인 Django 개발 방식에 대한 일본 포스팅을 찾아 해석해보았다. 이번 포스팅을 통해 확인할 수 있는 것 1. Django에는 어떠한 작성법이 있는가? (CoC등과 같은 대응 수준) 2. 소위 MVC (MTV)라는 것은 Django에서는 어떻게 작성 하는가? 3. 모델 (Model)은 어떻게 작성하는가? 4. View (Controller와 같은 것) 은 어떻게 작성하는가? 5. Template (View와 같은 것) 은 어떻게 작성하는가? 공통부분과 개별 부분은? 6. 라우팅은 어떻게 설정하는가? 7. WebAPI는 필수이므로 json은 어떻게 리턴하는가? 다른 프레임워크 이용자가 Djan..

IT/WEB 2020.09.14

[Django] 검색 게시판 만들기 ③ : 게시판 목록 페이지 만들기

이제 Admin페이지 등록한 게시글 목록을 화인할 수 있는 목록 페이지를 만들어보고자 한다. URL정의 search/ulrs.py를 열어 아래와 같이 url을 등록해준다. from django.urls import path from . import views app_name = 'search' urlpatterns = [ path('', views.PublicPostIndexView.as_view(), name='top'), ] 뷰의 작성 search/views.py파일을 열어 포스트 목록을 보여주도록 아래와 같이 작성하자. from django.views import generic from .models import Post class PublicPostIndexView(generic.ListView)..

IT/WEB 2020.09.13

[Django] 검색 게시판 만들기 ② : 관리자 사이트의 커스터마이즈

지난 포스팅에 이어 관리자 사이트를 조금 커스터마이징해보도록 하겠다. 이전 포스팅에서 만든 search/models.py에서 설정한 게시글 모델의 필드는 다음과 같았다. class Post(models.Model): """기사""" title = models.CharField('제목', max_length=32) text = models.TextField('본문') tags = models.ManyToManyField(Tag, verbose_name='태그', blank=True) thumbnail = models.ImageField(blank=True, upload_to="images", null=True) relation_posts = models.ManyToManyField('self', verbo..

IT/WEB 2020.09.11

[Django] 검색 게시판 만들기 ① : 모델(Model) 만들기

( ※ 일본의 한 블로그의 게시판 만들기 튜토리얼 내용을 번역한 포스팅 시리즈입니다. ) Django 공식 튜토리얼의 내용이 더 남아 있지만 테스트와 응용에 관련된 내용이므로 생략하고, 이번에는 로그인이나 부가적인 기능이 없으며 단순히 검색이 가능한 게시판을 만들어 보려고 한다. 완성될 페이지의 이미지는 여기에서 확인할 수 있다. 프로젝트 생성 및 데이터 베이스 연동 프로젝트 생성과 데이터 베이스 연동과 관련된 자세한 내용은 이전 포스팅을 참고하길 바란다. 나는 프로젝트 이름을 'mysite2', 앱 이름을 'search'로 정의하였다. 프로젝트와 앱 생성 후 파일 구조는 아래와 같다. 모델 생성 1) 태그 모델 1개의 게시글에 복수의 태그를 선택하여 글을 작성할 수 있도록 할 것이다. 먼저 태그를 표현..

IT/WEB 2020.09.10

[Django] 튜토리얼 ⑥ : 템플릿과 URL 시스템 그리고 제너릭 뷰

이전의 포스팅의 내용과 이어집니다. 템플릿 시스템 사용하기 투표 어플리케이션의 detail()뷰로 되돌아가보자. context변수 question이 주어졌을 때 보여질 상세 화면은 polls/templates/polls/detail.html에서 설정하면 된다. 우선 아래의 코드로 같이 설정하였다. #polls/templates/polls/detail.html {{ question.question_text }} {% for choice in question.choice_set.all %} {{ choice.choice_text }} {% endfor %} 템플릿 시스템은 변수의 속성에 접근하기 위해 점-탐색(dot-lookup) 문법을 사용한다. 위 코드의 {{ question.question_text }..

IT/WEB 2020.09.10

[Django] 튜토리얼 ⑤ : View추가 및 에러 일으키기

만들고 있는 poll 어플리케이션에 네 개의 View를 추가하고 간단히 템플릿 시스템을 이용해 볼 것이고, 마지막으로 404에러를 일으켜 볼 것이다. 뷰 추가하기 이번에 추가 할 뷰는 총 네가지 이다. ① 질문 "색인" 페이지 : 최근의 질문들을 표시한다. ② 질문 "세부" 페이지 : 질문 내용과 투표할 수 있는 서식을 표시한다. ③ 질문 "결과" 페이지 : 특정 질문에 대한 결과를 표시한다. ④ 투표 기능 : 질문에 대해 선택을 할 수 있는 투표 기능을 제공한다. # polls/views.py def detail(request, question_id): return HttpResponse("You're looking at question %s." % question_id) def results(requ..

IT/WEB 2020.09.09

[Django] 튜토리얼 ④ : Django 관리자

계속해서 Django 공식 튜토리얼 + 참고자료의 포스팅을 이어나가도록 하겠습니다. 관리자 생성하기 장고는 모델에 대한 관리용 인터페이스를 모두 자동으로 생성한다. 이 인터페이스는 사이트 방문자가 아닌 사이트 관리자용이다. 우선 관리 사이트에 로그인 할 수 있는 슈퍼 유저를 생성하자. cmd창에서 프로젝트로 디렉토리로 이동 후 아래의 명령어를 실행시키면 슈퍼 유저 생성 커맨드 라인으로 넘어간다. python manage.py createsuperuser Username: admin Email address: admin@example.com Password: Password(again): 모든 입력은 원하는대로 하면 된다. 단, 사용자 이름은 소문자+공백 없이 입력해야한다. 참고로 비밀번호 입력시 화면에 ..

IT/WEB 2020.09.08

[Django] 튜토리얼 ③ : Django 모델 만들기

지난 포스팅을 통해 본격적인 앱 만들기의 기본 세팅을 완료했습니다. 지난 포스팅에 이어 계속해서 Django 공식 튜토리얼을 토대로 참고 자료로 내용을 덧붙여 포스팅하도록 하겠습니다. 모델 만들기 이제 모델을 정의해 보자. 장고는 모델과 데이터베이스를 연결해서 데이터베이스에 영구적으로 데이터를 저장하거나 불러오게 되는데 이를 ORM(Object - Relation Mapping)이라고 한다. #polls/models.py from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') cl..

IT/WEB 2020.09.08

[Django] 튜토리얼 ② : Django 설치부터 PostgreSQL DB 연동까지

Django 공식 튜토리얼의 내용을 중심으로 참고 자료를 이용해 살을 붙여 Django를 이용한 Web 애플리케이션을 만드는 과정에 대해 포스팅하도록 하겠습니다. 사용 프로그램・버전 ■ Django 3.1.1 ■ Python 3.7 다운로드 링크 ■ PostgreSQL 12.4 다운로드 링크 ■ Visual Studio Code 다운로드 링크 우선 Python과 사용할 데이터 베이스를 다운로드한다. 데이터 베이스는 원하는 MySQL이나 Oracle등 원하시는 것으로 선택하면 된다. 나는 Python과 PostgreSQL를 설치하였고, 설치시 따로 설정해야 할 일이 없기에 구체적인 설명을 생략하도록 하겠다 (※ PostgreSQL 다운로드시 슈퍼유저 패스워드는 본인이 원하는 비밀번호로 설정하면 된다). 또..

IT/WEB 2020.09.08
728x90